高德地图导航和标注,通过调用高德APP实现呢

在调用高德地图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
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值