大家在开发中实现多套地图实现导航功能,导入sdk会增大APK体积,且繁琐,但是在代码可以通过Intent就可以直接调用百度地图客户端、高德地图客户端、Google 地图客户端实现导航功能!话不多说直接上代码吧,浅显易懂!
地图官方公开URI API如下:
百度地图:http://lbsyun.baidu.com/index.php?title=uri/api/android
高德地图:http://lbs.amap.com/api/uri-api/guide/android-uri-explain/navi/
谷歌地图:https://developers.google.com/maps/documentation/android-api/intents
1.判断是否安装该地图
private boolean isInstallByread(String packageName) {
return new File("/data/data/" + packageName).exists();
}
2.启用高德地图进行导航
/**
* 启动高德App进行导航
* sourceApplication 必填 第三方调用应用名称。如 amap
* poiname 非必填 POI 名称
* dev 必填 是否偏移(0:lat 和 lon 是已经加密后的,不需要国测加密; 1:需要国测加密)
* style 必填 导航方式(0 速度快; 1 费用少; 2 路程短; 3 不走高速;4 躲避拥堵;5 不走高速且避免收费;6 不走高速且躲避拥堵;7 躲避收费和拥堵;8 不走高速躲避收费和拥堵))
*/
private void openGaoDeNavi() {
StringBuffer stringBuffer = new StringBuffer("androidamap://navi?sourceApplication="