android 调用百度地图客户端,

之前都是使用百度API在软件里面作一个百度地图出来这样感受既浪费时间又浪费精力,这里就教你们直接使用Intent的方式调用手机上安装的百度地图客户端,访问咱们所须要的路径规划等,
//调起百度地图客户端
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
因此经过下面的方法进行判断: java

/**  
 * 判断是否安装目标应用  
 * @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不一样) android

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");



开源中国好像没有地方上传附件,好比项目什么的。这个有点郁闷,高德就自行寻找下URL-API吧
相关文章
相关标签/搜索