3 Stimmen

Kostenloses SDK für turn-by-turn Navigation

Ich suche nach einem kostenlosen SDK, das eine Schritt-für-Schritt-Navigation bietet, um es in einer mobilen Anwendung zu integrieren. Kennt jemand eins? Ich brauchte eins, das mit Android funktioniert oder eine JavaScript-API hat, damit ich es mit PhoneGap oder Titanium verwenden kann.

Vielen Dank im Voraus.

2voto

Brian ONeil Punkte 4229

MapQuest bietet eine gute Auswahl an kostenlosen Diensten und SDKs, die verfügbar sind. Sie umfassen Routen und viele andere Navigationsfunktionen.

Nachdem, was ich gesehen und ausprobiert habe, sind sie die besten, die keine Einschränkungen für die Verwendung in Anwendungen oder im Web setzen.

Schauen Sie sie sich hier an

Update (basierend auf Kommentar):

Es gibt verschiedene Anbieter und es hängt davon ab, was Sie erreichen möchten, was einen besser als den anderen macht. Einige der besten sind Google und Bind, aber ich glaube, sie haben beide Einschränkungen für die Verwendung (in einem Szenario der kostenlosen Nutzung und ich weiß nicht, was Sie zu tun bereit sind). Ich werde nicht zu diesen verlinken, sie sind leicht genug zu finden.

Ich habe mir OpenRouteService angesehen, aber ich bevorzuge MapQuest. Programmable Web hat viele aufgelistet und hält ziemlich gut Schritt mit dem, was verfügbar ist. Wenn Sie im Mapping-Bereich suchen, finden Sie mehrere Dienste, die wahrscheinlich Ihren Bedürfnissen entsprechen.

Sie könnten verschiedene Teile von verschiedenen Anbietern nutzen. Google ist eine großartige One-Stop-Shop, wenn Sie innerhalb ihrer Einschränkungen bleiben können.

Viel Glück!

0voto

Ando Punkte 10769

Mapbox hat ein SDK für Android: https://www.mapbox.com/blog/mapbox-android/

Es gibt auch Mapbox auf dem Titanium-Projekt https://github.com/adampax/titanium-mapbox, das zum Zeitpunkt des Verfassens dieses Textes gepflegt und weiterentwickelt wird.

Eine weitere Option wäre Skobbler/Telenav, die auch ein Android SDK haben:

http://developer.skobbler.com/features#mobileDevicesAndWeb

das von hier heruntergeladen werden kann

Ich weiß, dass sie auch eine JavaScript-Bibliothek haben, bin mir aber nicht sicher, ob das mit Titanium oder PhoneGap funktionieren würde. (Lass es mich in einem Kommentar wissen, wenn du es herausfindest :) )

-3voto

user1717020 Punkte 1

Eine sehr alte Frage, aber es könnte jemandem helfen. Mapbox hat kürzlich eine neue Directions-Bibliothek für Android eingeführt, die eine schrittweise Navigation bietet. Es ist kostenlos.

Die Verwendung der Directions-Bibliothek ist ziemlich unkompliziert. Fügen Sie einfach Folgendes zu Ihrem build.gradle hinzu, um sie zu verwenden

repositories {
  mavenCentral()
}

dependencies {
    compile ('com.mapbox.mapboxsdk:mapbox-android-directions:1.0.0@aar'){
        transitive=true
    }
}

Um Wegbeschreibungen zwischen zwei geografischen Standorten zu erhalten, verwenden Sie den folgenden Code

// Downtown LA
Waypoint origin = new Waypoint(-118.24233, 34.05332);

// Santa Monica Pier
Waypoint destination = new Waypoint(-118.49666, 34.01114);

// Erstellen des Client-Objekts
MapboxDirections client = new MapboxDirections.Builder()
    .setAccessToken(MAPBOX_ACCESS_TOKEN)
    .setOrigin(origin)
    .setDestination(destination)
    .setProfile(DirectionsCriteria.PROFILE_DRIVING)
    .build();

// Die Anfrage ausführen
Response response = client.execute();

DirectionsRoute route = response.body().getRoutes().get(0);
int distance = route.getDistance() // 26446 (in Metern)

Um die Route auf der Mapbox-Karte darzustellen, tun Sie dies:

// List in LatLng[] konvertieren
List waypoints = route.getGeometry().getWaypoints();
LatLng[] points = new LatLng[waypoints.size()];
for (int i = 0; i < waypoints.size(); i++) {
    points[i] = new LatLng(
        waypoints.get(i).getLatitude(),
        waypoints.get(i).getLongitude());
}

// Punkte auf MapView zeichnen
mapView.addPolyline(new PolylineOptions()
    .add(points)
    .color(Color.parseColor("#3887be"))
    .width(5));

Bitte überprüfen Sie dies hier:

https://www.mapbox.com/blog/android-directions-library/

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X