2011-12-18 61 views
3

我正在尋找一種免費的SDK,它提供了轉由轉彎的導航以集成到移動應用程序中。沒有人知道嗎?我需要一個使用android或有一個JavaScript API,所以我可以使用PhoneGap或鈦。免費的SDK,用於轉向導航

在此先感謝。

+0

你可以在phonegap中做到這一點?你選擇了什麼樣的選擇? – John

回答

3

MapQuest提供了一整套免費的服務和SDK。它們包括方向和許多其他導航功能。

從我所看到的,並試圖他們是最好的那裏,沒有限制你的應用程序或在網絡上使用。

檢查出來here

更新(基於評論):

有幾個在那裏,這取決於你正在嘗試做的,這將使一個優於其他。其中一些最好的是Google和Bind,但我認爲他們對你如何使用它們有限制(在免費的使用情況下,我不知道你願意做什麼)。我不會鏈接到那些,他們很容易找到。

我看過OpenRouteService但我喜歡MapQuest。可編程網絡有許多列表,並做得很好,可以跟上現有的情況。如果你看看mapping category,你會發現幾種服務可能會滿足你的需求。

您可能想要從不同提供商處獲取不同的零件。如果您可以保持自己的限制,那麼Google是一個很棒的一站式商店。

祝你好運!

+0

但你認識別人嗎?因爲我需要比較市場上可用的工作。我搜索了很多,但只能找到關於iPhone的鏈接:S –

1

Mapbox有SKD的Android:https://www.mapbox.com/blog/mapbox-android/

的也是Mapbox鈦項目https://github.com/adampax/titanium-mapbox其中,在寫這篇的時候,保持和發展。

另一種選擇是Skobbler /參與Telenav也擁有Android SDK:

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

可以從here

下載我知道他們也有一個JavaScript庫,但我不知道這是否會起作用/它如何與Titanium或PhoneGap一起使用。 (如果你發現,請在評論中告訴我:))

-3

一個非常古老的問題,但它可能有助於某人。 Mapbox最近推出了一個新的android方向庫,它提供了逐個導航。這是免費的。

使用方向庫非常簡單。 只需將以下內容添加到您的版本。gradle這個開始使用它

repositories { 
    mavenCentral() 
} 

dependencies { 
    compile ('com.mapbox.mapboxsdk:mapbox-android-directions:[email protected]'){ 
     transitive=true 
    } 
} 

爲了得到兩個地理位置點之間的路線使用下面

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

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

// Build the client object 
MapboxDirections client = new MapboxDirections.Builder() 
    .setAccessToken(MAPBOX_ACCESS_TOKEN) 
    .setOrigin(origin) 
    .setDestination(destination) 
    .setProfile(DirectionsCriteria.PROFILE_DRIVING) 
    .build(); 

// Execute the request 
Response<DirectionsResponse> response = client.execute(); 

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

代碼爲了繪製Mapbox地圖上的路線,這樣做:

// Convert List<Waypoint> into LatLng[] 
List<Waypoint> 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()); 
} 

// Draw Points on MapView 
mapView.addPolyline(new PolylineOptions() 
    .add(points) 
    .color(Color.parseColor("#3887be")) 
    .width(5)); 

請檢查了這一點:

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