Android開發丶調用百度高德騰訊等第三方地圖進行導航

地圖導航是一種很常見的功能了,一般我們都是通過集成第三方地圖app,諸如百度地圖、高德地圖和騰訊地圖來實現,相應的開放平臺也提供了SDK自帶的方法實現,不過這種方法需要去下載SDK,申請appkey等一系列比較繁瑣的操作,相比這種方法,我們可以用更爲便捷的URL調起地圖app,僅需幾行代碼即可。

1.百度地圖

Intent intent = new Intent();
intent.setData(Uri.parse("baidumap://map/navi?query=" + address + "&src=andr.baidu.openAPIdemo"));
context.startActivity(intent);

2.高德地圖

String uri = String.format("amapuri://route/plan/?dname=%s&dev=0&t=0", address);
Intent intent = new Intent();
intent.setAction("android.intent.action.VIEW");
intent.addCategory("android.intent.category.DEFAULT");
intent.setData(Uri.parse(uri));
intent.setPackage("com.autonavi.minimap");
startActivity(intent);

3.騰訊地圖

Intent intent = new Intent();
intent.setData(Uri.parse("qqmap://map/routeplan?type=drive&to=" + addressName + "&tocoord=" + desLatLng.latitude + "," + desLatLng.longitude + "&referer=OB4BZ-D4W3U-B7VVO-4PJWW-6TKDJ-WPB77"));
startActivity(intent);

經過本人測試,高德和百度地圖只需要傳入目的地地址即可,騰訊地圖則必須傳入目的地經緯度,因此對於某些後臺不能提供經緯度的情況,我們可以把地址轉爲經緯度即可,注意百度地圖用的是百度系座標,騰訊和高德採用火星系座標,因此要注意不同座標系的轉化。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章