我正在研究Mono Android應用程序,並希望顯示兩點之間的路線圖。我實施了他們的Xamarin.Android Map API以獲取當前位置。Droid單聲道:如何繪製路線
我無法得到如何繪製從當前位置到目的地的路線。有沒有圖書館或框架?
我正在研究Mono Android應用程序,並希望顯示兩點之間的路線圖。我實施了他們的Xamarin.Android Map API以獲取當前位置。Droid單聲道:如何繪製路線
我無法得到如何繪製從當前位置到目的地的路線。有沒有圖書館或框架?
Xamarin.Android地圖API是基於谷歌地圖的Android 1.0版API它被廢棄了截至12月3日,2012年如果你真的,真的要實現谷歌地圖我會建議看它使用Xamarin Maps and Location Demo v2Google Maps Android v2 API。然而,繪製路線仍然不是一件容易的事情 - 您可以使用Google Direction API獲取多段線並使用它在地圖上繪製形狀as described here(順便提一下,方向API可用的限制)。
我建議採用不同的方法。如果你確定使用開放街道地圖,我肯定會去OSM Droid圖書館和OSM Bonus Pack,它會爲你做所有的魔術。看看Xamarin OSM Droid Binding sample。要包括獎金包,你可以通過增加metadata.xml中的JAR添加到OSM的Droid約束力的解決方案和固定兩個知名度的問題:
<attr path="/api/package[@name='org.osmdroid.bonuspack.routing']/class[@name='RoadLink']" name="visibility">public</attr>
<attr path="/api/package[@name='org.osmdroid.bonuspack.overlays']/class[@name='MapEventsOverlay']/method[@name='draw']" name="visibility">public</attr>
有了這個設置有一個非常漂亮的道路管理者,將繪製爲我們路線。下面是一個示例代碼段:關於這個主題
public class MainActivity : Activity
{
private IMapController _mapController;
private MapView _mapView;
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
SetContentView(Resource.Layout.Main);
_mapView = FindViewById<MapView>(Resource.Id.mapview);
_mapView.SetTileSource(TileSourceFactory.DefaultTileSource);
_mapView.SetMultiTouchControls(true);
_mapController = _mapView.Controller;
RoadManager roadManager = new MapQuestRoadManager();
JavaList<GeoPoint> waypoints = new JavaList<GeoPoint>();
waypoints.Add(new GeoPoint(51.776625, 19.454834)); //start point
waypoints.Add(new GeoPoint(51.770839, 19.464962)); //end point
Road road = roadManager.GetRoad(waypoints);
PathOverlay roadOverlay = RoadManager.BuildRoadOverlay(road, _mapView.Context);
_mapView.Overlays.Add(roadOverlay);
_mapView.Invalidate();
}
}
更多教程位於here。
您還可以通過使用多段線和Google方向API實現兩點之間的繪製路徑,請檢查此http://www.appliedcodelog.blogspot.in/2015/08/draw-path-between-two-location-in html的 – Suchith 2015-08-24 05:53:30