高德地图和百度地图可以用scheme调起地图,具体可参考API,里面讲的很清楚,配置好相应的Schema之后根据例子使用就好了。
百度:http://lbsyun.baidu.com/index...
高德:http://lbs.amap.com/api/uri-a...
两者都支持用H5通过URL调起或者通过原生调起,我之前的做法是原生写好调用的方法,然后开放接口给H5调用。
一下是我调起地图的Android代码,IOS也类似。仅供参考:
@JavascriptInterface
public void openMap(final String address) {
Log.i("WebView", "OpenMap");
webview.post(new Runnable() {
@Override
public void run() {
String url = "";
if (isAppInstalled(context, "com.autonavi.minimap")) {
url = "amapuri://poi?sourceApplication=ewpower.com&keywords="+address;
showToast("启动高德地图");
}else if (isAppInstalled(context, "com.baidu.BaiduMap")) {
url = "baidumap://map/geocoder?src=openApiDemo&address="+address;
showToast("启动百度地图");
} else {
showToast("检测到您未安装地图APP,无法开始导航,建议您安装最新版的高德地图或百度地图");
return;
}
Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.addCategory(Intent.CATEGORY_DEFAULT);
//将功能Scheme以URI的方式传入data
Uri uri = Uri.parse(url);
intent.setData(uri);
//启动该页面即可
context.startActivity(intent);
}
});
}
博客介绍了高德地图和百度地图可通过scheme调起,配置好Schema后按例使用。两者支持H5通过URL或原生调起,还给出了Android调起地图的代码示例,IOS类似,若未安装地图APP则提示安装。
8104

被折叠的 条评论
为什么被折叠?



