最近在項目中需要地圖導航功能,但是導入第三方地圖導航包的話,應用打出包後會很大,所以考慮到可以通過調用外部地圖應用來解決,參考了微信打開外部地圖的做法,有了下面的解決辦法:
原理
- 通過高德、百度、騰訊提供的Uri打開應用外部地圖app.
高德、百度、騰訊官方uri調起app文檔傳送門
- 高德地圖:
- 百度地圖:
- 騰訊地圖:
APP判斷手機中是否安裝地圖
1. Android系統:請檢測包名
- 騰訊 com.tencent.map
- 高德 com.autonavi.minimap
- 百度 com.baidu.BaiduMap
2. iOS系統:騰訊地圖的URL Sheme 是qqmap:// ,直接調用系統的canOpenURL進行判斷
- 百度地圖:baidumap
- 高德地圖:iosamap
- 騰訊地圖:qqmap
需要注意的地方
-1.由於自己應用中集成的是高德地圖,用的是GCJ-02座標系(火星座標系),所以當打開百度地圖時需要進行座標轉換,將火星座標系轉換成百度座標系BD09。