⑴ 如何在H5中調用百度地圖APP和高德地圖APP
看官方文檔啊親
具體例子如下
<a href="bdapp://map/navi?query=齊魯軟體園">安卓,網路駕車導航</a>
<a href="androidamap://navi?sourceApplication=appname&poiname=fangheng&lat=36.678528&lon=117.140208&dev=1&">安卓,高德駕車導航</a>
<a href="map://map/navi?query=齊魯軟體園">ios,網路駕車導航</a>
<a href="iosamap://navi?sourceApplication=appname&poiname=fangheng&lat=36.678528&lon=117.140208&dev=1&">ios,高德駕車導航</a>
安卓中,參數query和location二選一
在移動端瀏覽器是這樣使用,如果要在app中使用是需要客戶端支持的
⑵ android 開發 百度導航離線包 如何調用
最近公司要做個地圖的app,android的,網路了一下,覺得還是網路的api比較好,然後就下載下來用了,就在想使用它的離線包的時候,不知道怎麼搞,一開始就連網路提供的DOME也載入不上離線包。後來將BaiMapSdk刪了,重新下載就行了
遇到的情況我的解決方法:首先要知道你的設備是支持高解析度的還是低解析度的,就是h還是l ,然後我們下載的離線壓縮包裡面的文件名為:
Bei_Jing_Shi_131.dat_svc,直接改成
beijing_131.dat,
然後放到 ,SD卡根目錄下的BaiMapSdk的vmp的h文件夾下面,:BaiMapSdk/vmp/h/
第二種方法是,先將SD卡上的BaiMapSdk文件夾刪掉,然後使用網路地圖提供的DOME去下載離線地圖,它會自動識別你的設備是h還是l,
如
BaiMapSdk/vmp/h/beijing_131.dat
或者
BaiMapSdk/vmp/l/beijing_131.dat
⑶ Android Kotlin 跳轉第三方地圖App進行導航(高德,百度,騰訊)
跳轉第三方地圖App進行導旅隱航
/**
* type
* 1 高德地圖com.autonavi.minimap
* 2 網路地圖com..BaiMap
* 3 騰訊地圖com.tencent.map
*
*/
private fun goNavigation(type: Int,lat: Double, lon: Double,title:String, appName:String): Intent? {
when (type) {
1 ->{// sb 拼接跳轉至高德地圖需要的參數
銀鎮嘩 val sb = StringBuilder("androidamap://route?sourceApplication=").append(appName)
sb.append("&dlat=").append(lat).append("&dlon=").append(lon).append("&dname=").append(title).append("&dev=0&m=0&t=0")
return Intent("android.intent.action.VIEW", Uri.parse(sb.toString())).setPackage("com.autonavi.minimap")
}
2 ->{// sb 拼接跳轉至網路地圖需要的參數
val sb = StringBuilder("map://map/geocoder?")
sb.append("location=").append(lat).append(",").append(lon).append("&name=").append(title).append("&coord_type=gcj02")
return Intent().setData(Uri.parse(sb.toString())).setPackage("com..BaiMap")
}
else ->{// sb 拼接跳轉至騰訊地圖需要的參數
val sb = StringBuilder("qqmap://map/routeplan?type=drive&referer=").append(appName)
sb.append("&tocoord=").append(lat).append(",").append(lon).append("&to=").append(title)
return Intent( ).setData( Uri.parse(sb.toString()))
}
}
}
檢測是否安裝App
/**
* 檢索是否有對應app
*/
fun isApp(packageName: String?): Boolean {
//獲取packagemanager
val packageManager =activity?.packageManager
//獲取所有已安裝程序的包信息
val packageInfos = packageManager?.getInstalledPackages(0)
//用於存儲所有已安裝程序的包名
val packageNames: MutableList = ArrayList()
//從pinfo中將包名字逐一取出,壓入pName list中
if (packageInfos !=null) {
for (iin packageInfos.indices) {
val packName =packageInfos[i].packageName
鋒行 packageNames.add(packName)
}
}
//判斷packageNames中是否有目標程序的包名,有TRUE,沒有FALSE
return packageNames.contains(packageName)
}