根据两个经纬度点调用百度地图应用查询路线 适用android或者ios中及网页浏览(手机网页同样适用)

来源:互联网 发布:工信部 大数据证书 编辑:程序博客网 时间:2024/05/01 09:47
Intent intent = null;try {// 如果有安装百度地图 就启动百度地图StringBuffer sbs = new StringBuffer();sbs.append("intent://map/direction?origin=latlng:")// 我的位置.append(latitude).append(",").append(longitude).append("|name:").append(getResources().getString(R.string.location))// 去的位置.append("&destination=latlng:").append(overlayItem.getPoint().getLatitudeE6() / 1E6) // 经度.append(",").append(overlayItem.getPoint().getLongitudeE6() / 1E6)// 纬度.append("|name:").append(overlayItem.getSnippet().replaceAll("nbsp;|&", ""))// 城市.append("&mode=driving®ion=").append(App.area_name).append("&referer=com.menu|menu#Intent;scheme=bdapp;package=com.baidu.BaiduMap;end");try {intent = Intent.getIntent(sbs.toString());} catch (URISyntaxException e) {e.printStackTrace();}startActivity(intent);} catch (Exception e) {// 没有百度地图则弹出网页端StringBuffer sb = new StringBuffer();sb.append("http://api.map.baidu.com/direction?origin=latlng:")// 我的位置.append(latitude).append(",").append(longitude).append("|name:").append(getResources().getString(R.string.location))// 去的位置.append("&destination=latlng:").append(overlayItem.getPoint().getLatitudeE6() / 1E6).append(",").append(overlayItem.getPoint().getLongitudeE6() / 1E6).append("|name:").append(overlayItem.getSnippet().replaceAll("nbsp;|&", ""))// 城市.append("&mode=driving®ion=").append(App.area_name).append("&output=html");Uri uri = Uri.parse(sb.toString());intent = new Intent(Intent.ACTION_VIEW, uri);startActivity(intent);}

根据两个经纬度点调用百度地图应用查询路线 适用android或者ios中及网页浏览(手机网页同样适用)

检测是否安装百度地图 不过我这种捕获异常的方式检测百度地图是否安装不太好 来读取安装程序中是否有百度地图的方式比较正确 不过没必要 还是异常捕获吧

在应用中试了好多次才通过 写一个博客记录一下

ios怎么获取连接同上

3.7 公交、驾车、步行导航

3.7.1 服务地址

http://api.map.baidu.com/direction   //PC&Webapp服务地址intent://map/direction     //Android服务地址baidumap://map/direction    // iOS服务地址
百度URI API 地址:http://developer.baidu.com/map/uri-intro.htm
原创粉丝点击