高德地图导航和标注,通过调用高德APP实现呢
2016-10-17 14:32
639 查看
在调用高德地图APP提供坐标定位位置,若果是需要导航的话可以参考下面1,如果还想知道路线、周边、导航请调用标注来实现,标注包含导航功能。
1 导航(调用显示导航图)
一种是通过高德提供的SDK实现,另一种类似下面2中高德标注的提供intent启动)
NaviPara naviPara = new NaviPara();
naviPara.setTargetPoint(new com.amap.api.maps.model.LatLng(Double.valueOf(latitude), Double.valueOf(longitude)));
naviPara.setNaviStyle(AMapUtils.DRIVING_AVOID_CONGESTION);
try
{
AMapUtils.openAMapNavi(naviPara, context);
}
catch(com.amap.api.maps.AMapException e)
{
Log.i("error", e.getErrorMessage());
Toast.makeText(context, "您尚未安装高德地图app或app版本过低,请确认安装最新版本", Toast.LENGTH_SHORT).show();
}
2 高德标注(调用显示图)
if (Util.isInstall("com.autonavi.minimap")){
Util.goToNaviAddress(context,"xxx","名称",Latitude,Longitude,"1");
}else{
Toast.makeText(FoodDetailActivity.this, "您尚未安装高德地图app或app版本过低,请确认安装最新本", Toast.LENGTH_SHORT).show();
}
/**
* 启动高德App进行地图标注
* @param context
* @param sourceApplication 必填 第三方调用应用名称
* @param poiname 非必填 POI 名称
* @param lat 必填 纬度
* @param lon 必填 经度
* @param dev 必填 是否偏移起终点是否偏移(0:lat
和 lon 是已经加密后的,不需要国测加密; 1:需要国测加密)
*/
public static void goToNaviAddress(Context context,String sourceApplication , String poiname , String lat , String lon , String dev){
StringBuffer stringBuffer = new StringBuffer("androidamap://viewMap?sourceApplication=")
.append(sourceApplication);
if (!TextUtils.isEmpty(poiname)){
stringBuffer.append("&poiname=").append(poiname);
}
stringBuffer.append("&lat=").append(lat)
.append("&lon=").append(lon)
.append("&dev=").append(dev);
Lg.i("addrress", stringBuffer.toString());
Intent intent = new Intent("android.intent.action.VIEW", android.net.Uri.parse(stringBuffer.toString()));
intent.setPackage("com.autonavi.minimap");
context.startActivity(intent);
}
/**
* 根据包名检测某个APP是否安装
* @param packageName 包名
* @return true-安装
*/
public static boolean isInstall(String packageName) {
return new File("/data/data/" + packageName).exists();
}
高德标注参考URLAPI: http://lbs.amap.com/api/uri-api/android-uri-explain/viewmap/
高德导航参考URLAPI: http://lbs.amap.com/api/uri-api/android-uri-explain/navi/
高德SDK导航API: http://lbs.amap.com/api/android-navi-sdk/summary/
1 导航(调用显示导航图)
一种是通过高德提供的SDK实现,另一种类似下面2中高德标注的提供intent启动)
NaviPara naviPara = new NaviPara();
naviPara.setTargetPoint(new com.amap.api.maps.model.LatLng(Double.valueOf(latitude), Double.valueOf(longitude)));
naviPara.setNaviStyle(AMapUtils.DRIVING_AVOID_CONGESTION);
try
{
AMapUtils.openAMapNavi(naviPara, context);
}
catch(com.amap.api.maps.AMapException e)
{
Log.i("error", e.getErrorMessage());
Toast.makeText(context, "您尚未安装高德地图app或app版本过低,请确认安装最新版本", Toast.LENGTH_SHORT).show();
}
2 高德标注(调用显示图)
if (Util.isInstall("com.autonavi.minimap")){
Util.goToNaviAddress(context,"xxx","名称",Latitude,Longitude,"1");
}else{
Toast.makeText(FoodDetailActivity.this, "您尚未安装高德地图app或app版本过低,请确认安装最新本", Toast.LENGTH_SHORT).show();
}
/**
* 启动高德App进行地图标注
* @param context
* @param sourceApplication 必填 第三方调用应用名称
* @param poiname 非必填 POI 名称
* @param lat 必填 纬度
* @param lon 必填 经度
* @param dev 必填 是否偏移起终点是否偏移(0:lat
和 lon 是已经加密后的,不需要国测加密; 1:需要国测加密)
*/
public static void goToNaviAddress(Context context,String sourceApplication , String poiname , String lat , String lon , String dev){
StringBuffer stringBuffer = new StringBuffer("androidamap://viewMap?sourceApplication=")
.append(sourceApplication);
if (!TextUtils.isEmpty(poiname)){
stringBuffer.append("&poiname=").append(poiname);
}
stringBuffer.append("&lat=").append(lat)
.append("&lon=").append(lon)
.append("&dev=").append(dev);
Lg.i("addrress", stringBuffer.toString());
Intent intent = new Intent("android.intent.action.VIEW", android.net.Uri.parse(stringBuffer.toString()));
intent.setPackage("com.autonavi.minimap");
context.startActivity(intent);
}
/**
* 根据包名检测某个APP是否安装
* @param packageName 包名
* @return true-安装
*/
public static boolean isInstall(String packageName) {
return new File("/data/data/" + packageName).exists();
}
高德标注参考URLAPI: http://lbs.amap.com/api/uri-api/android-uri-explain/viewmap/
高德导航参考URLAPI: http://lbs.amap.com/api/uri-api/android-uri-explain/navi/
高德SDK导航API: http://lbs.amap.com/api/android-navi-sdk/summary/
相关文章推荐
- android app调用第三方地图路线规划导航(百度,高德,腾讯)
- 安卓通过经纬度,实现intent调用百度,高德,Google地图客户端实现驾车导航功能
- Android开发 PopupWindow弹窗调用第三方地图(百度,高德)实现导航功能
- Android 不同app之间调用activity,通过action实现
- 滴滴打车,打车软件app实现。小车在地图上平滑移动的实现,Android,基于高德地图开发实现
- 调起地图App实现路径规划导航等
- iOS开发 - iOS实现应用内打开第三方地图app进行导航
- Android 实现点击按钮 调用手机外部地图导航
- iOS通过CLLocationManager调用地图导航功能
- IOS 调用第三方地图APP导航
- android app通过Geth RPC接口实现远程调用
- android实现app通过jni调用C/C++方法
- android实现app通过jni调用C/C++方法
- 通过URI协议实现浏览器调用手机app
- 高德地图实现多点标注功能
- Android中通过WebView控件实现与JavaScript方法相互调用的地图应用
- iOS 调起地图App进行导航(百度,高德,系统自带高德)URL API方式
- Android调用第三方高德APP进行导航
- iOS调用各大地图APP导航,进行路线规划
- android调用外部地图APP导航路线规划全解