首页 > 代码库 > android 调用百度地图客户端,
android 调用百度地图客户端,
以前都是使用百度API在软件里面做一个百度地图出来这样感觉既浪费时间又浪费精力,这里就教大家直接使用Intent的方式调用手机上安装的百度地图客户端,访问我们所需要的路径规划等,
我的intent是做导航用的。其他地图功能自行实现(其他功能需要的话就自行参考百度URL-API)。附上链接: http://developer.baidu.com/map/uri-intro.htm#idmykey1
//调起百度地图客户端 try { intent = Intent.getIntent("intent://map/direction?origin=latlng:34.264642646862,108.95108518068|name:我家&destination=大雁塔&mode=driving®ion=西安&referer=Autohome|GasStation#Intent;scheme=bdapp;package=com.baidu.BaiduMap;end"); if(isInstallByread("com.baidu.BaiduMap")){ startActivity(intent); //启动调用 Log.e("GasStation", "百度地图客户端已经安装") ; }else{ Log.e("GasStation", "没有安装百度地图客户端") ; } } catch (URISyntaxException e) { e.printStackTrace(); }
但是,若客户端没有安装了百度地图客户端就会报 No Activity.... 直接会导致程序挂掉,这是开发者不希望看到的.所以在调用之前判断该手机是否安装了百度地图客户端,我们知道百度的包名为 com.baidu.BaiduMap
所以通过下面的方法进行判断:
/** * 判断是否安装目标应用 * @param packageName 目标应用安装后的包名 * @return 是否已安装目标应用 */ private boolean isInstallByread(String packageName) { return new File("/data/data/" + packageName).exists(); }
我的intent是做导航用的。其他地图功能自行实现(其他功能需要的话就自行参考百度URL-API)。附上链接: http://developer.baidu.com/map/uri-intro.htm#idmykey1
调用高德地图:(其他写法都是相同只是URL-API不同)
intent = Intent.getIntent("androidamap://path?sourceApplication=GasStation&sid=BGVIS1&slat=34.264642646862&slon=108.95108518068&sname=当前位置&did=BGVIS2&dlat=36.3&dlon=116.2&dname=终点位置&dev=1&m=2&t=0");
android 调用百度地图客户端,
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。