百度地图导航
在项目中或多或少会用到百度地图,如果你项目上用到导航,那么你来对了,现在的Android手机上几乎都装了百度地图,所以在项目上需要导航的时候直接调用百度地图app进行导航很方便,如果手机上没有百度地图app也可以用浏览器上网页版的百度地图进行导航。下面贴代码。
/**
* 百度地图导航
* 若手机存在百度app 则会用app导航
* 若无 则会用浏览器打开百度地图进行导航
*
*/
public class BaiduUtil {
/**
*
* @param context 上下文对象
* @param mLat 当前所在的纬度
* @param mLon 当前所在的经度
* @param merchantLat 目的地的纬度
* @param merchantLon 目的地的经度
* @param adress 当前的地方名称的名称 例如:江苏省南京市雨花台...
* @param mudi 目的地的名称 例如 江苏省南京市栖霞区...
*/
public static void daozheli( Context context,Double mLat,Double mLon,Double merchantLat,Double merchantLon,String adress,String mudi) {
Intent intent = null;
try {// 如果有安装百度地图 就启动百度地图
StringBuffer sbs = new StringBuffer();
sbs.append("intent://map/direction?origin=latlng:")
// 我的位置
.append(mLat)
.append(",")
.append(mLon)
.append("|name:")
.append("")
// 去的位置
.append("&destination=latlng:")
.append(merchantLat) // 经度
.append(",")
.append(merchantLon)// 纬度
.append("|name:")
.append("")
// 城市
.append("&mode=driving")
.append("&coord_type=gcj02")
.append("&referer=com.bjypt.vipcard|vipcard#Intent;scheme=bdapp;package=com.baidu.BaiduMap;end");
try {
intent = Intent.getIntent(sbs.toString());
} catch (URISyntaxException e) {
e.printStackTrace();
}
context. startActivity(intent);
} catch (Exception e) {// 没有百度地图则弹出网页端
String rul = "http://api.map.baidu.com/direction?origin=latlng:"+mLat+","+mLon+"|name:我家&destination=latlng:"+merchantLat+","+merchantLon+"|name:目的&mode=driving&origin_region="+adress+"&destination_region="+mudi+"&output=html&coord_type=gcj02&src=yourCompanyName|yourAppName";
Uri uri = Uri.parse(rul.toString());
intent = new Intent(Intent.ACTION_VIEW, uri);
context.startActivity(intent);
}
}
}