Giter Site home page Giter Site logo

mina-mikhail / googledirectionlibrary Goto Github PK

View Code? Open in Web Editor NEW

This project forked from akexorcist/googledirectionlibrary

0.0 1.0 0.0 1.77 MB

[Android] Library for Google Direction API for Google Maps Android API v2

License: Apache License 2.0

Java 87.12% Kotlin 12.88%

googledirectionlibrary's Introduction

Android Arsenal Build Status Download

Android-GoogleDirectionLibrary

Google Direction Library

Android library for Google Maps Direction API for using with Google Maps for Android

Google Direction Library

Google Direction Library

What's new in 1.2.0

• Update minimum SDK version to 16

• Update target and compile SDK version 29

• Migrate to AndroidX

• Migrate the sample code to Kotlin

• Add total distance and duration calculation in route

• Remove raw string from success callback

• Add more customizable polyline in DirectionConverter

• Fix issue #70

Sample Code

Simple Direction Request

GoogleDirection.withServerKey("YOUR_SERVER_API_KEY")
        .from(new LatLng(37.7681994, -122.444538))
        .to(new LatLng(37.7749003,-122.4034934))
        .avoid(AvoidType.FERRIES)
        .avoid(AvoidType.HIGHWAYS)
        .execute(new DirectionCallback() {
            @Override
            public void onDirectionSuccess(Direction direction) {
                if(direction.isOK()) {
                    // Do something
                } else {
                    // Do something
                }
            }

            @Override
            public void onDirectionFailure(Throwable t) {
                // Do something
            }
        });

Multiple Waypoints Direction Request

GoogleDirection.withServerKey("YOUR_SERVER_API_KEY")
        .from(new LatLng(41.8838111, -87.6657851))
        .and(new LatLng(41.8766061, -87.6556908))
        .and(new LatLng(41.8909056, -87.6467561))
        .to(new LatLng(41.9007082, -87.6488802))
        .transportMode(TransportMode.DRIVING)
        .execute(new DirectionCallback() {
            @Override
            public void onDirectionSuccess(Direction direction) {
                if(direction.isOK()) {
                    // Do something
                } else {
                    // Do something
                }
            }

            @Override
            public void onDirectionFailure(Throwable t) {
                // Do something
            }
        });

or

List<LatLng> waypoints = Arrays.asList(
        new LatLng(41.8766061, -87.6556908), 
        new LatLng(41.8909056, -87.6467561)
)
GoogleDirection.withServerKey("YOUR_SERVER_API_KEY")
        .from(new LatLng(41.8838111, -87.6657851))
        .and(waypoints)
        .to(new LatLng(41.9007082, -87.6488802))
        .transportMode(TransportMode.DRIVING)
        .execute(new DirectionCallback() {
            @Override
            public void onDirectionSuccess(Direction direction) {
                if(direction.isOK()) {
                    // Do something
                } else {
                    // Do something
                }
            }

            @Override
            public void onDirectionFailure(Throwable t) {
                // Do something
            }
        });

See example code for more detail

To get API key, please read Get Google Maps Direction API Key

Demo

Try it at Google Play

Download

Maven

<dependency>
  <groupId>com.akexorcist</groupId>
  <artifactId>google-direction-library</artifactId>
  <version>1.2.0</version>
</dependency>

Gradle

implementation 'com.akexorcist:google-direction-library:1.2.0'

Usage Documentation

English Version : http://www.akexorcist.com/2015/12/google-direction-library-for-android-en.html

Thai Version : http://www.akexorcist.com/2015/12/google-direction-library-for-android-th.html

ProGuard

-keep class com.google.android.gms.maps.** { *; }
-keep interface com.google.android.gms.maps.* { *; }

-dontwarn retrofit2.**
-keep class retrofit2.** { *; }
-keepattributes Signature
-keepattributes Exceptions

-keepclasseswithmembers class * {
    @retrofit2.http.* <methods>;
}

-keep class com.akexorcist.googledirection.model.** { *;}

Special Thank

@jonaslins

@Will1229

Licence

Copyright 2019 Akexorcist

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this work except in compliance with the License. You may obtain a copy of the License in the LICENSE file, or at:

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

googledirectionlibrary's People

Contributors

akexorcist avatar will1229 avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.