最近在开发的过程中遇到一个问题,需要在APP内部打开手机内部的百度地图或高德地图进行地点的路线图规划。在网上查看了高德,百度地图的API和技术文章,解决了这个问题。

      首先要判断手机中是否安装了百度,高德地图的应用,没有的话给出提示或跳转到应用商店提醒用户进行下载。

      先看百度地图把,打开地图进行路线规划首先需要很多参数,如图;

Intent跳转地图应用(百度地图、高德地图)


     如果提供了经纬度,就可以这样拼参:

Intent intent = Intent.getIntent("intent://map/direction?" +
        "destination=latlng:" + "34.264642646862" + "," + "108.95108518068" + "|name:我的目的地" +    //终点
        "&mode=driving&" +
        "&src=appname#Intent;scheme=bdapp;package=com.baidu.BaiduMap;end");
startActivity(intent); //启动调用

  没有提供经纬度,只知道地点名称的情况拼参:

Intent intent = Intent.getIntent("intent://map/direction?" +
        "destination=吉林市"+
        "&mode=driving&" +
        "&src=appname#Intent;scheme=bdapp;package=com.baidu.BaiduMap;end");
startActivity(intent);

再来看一下高德地图:

提供了经纬度拼参:

Uri uri = Uri.parse("androidamap://navi?sourceApplication=appname&poiname=西安&lat=" +
        "34.264642646862" + "&lon=" + "108.95108518068" + "&dev=1&style=2");
没有提供经纬度,只知道地点名称的情况拼参:

Uri uri = Uri.parse("androidamap://poi?sourceApplication=softname" +
        "&keywords=" +"吉林市"+
        "&dev=0");

这样就好了,因为不是直接集成地图的SDK,主要的难点在拼参这里。效果图展示:

Intent跳转地图应用(百度地图、高德地图)


代码传送门:https://download.csdn.net/download/u010007428/10402786

相关文章:

  • 2021-07-25
  • 2021-08-11
  • 2021-05-22
  • 2022-02-16
  • 2022-02-15
  • 2021-11-05
  • 2021-12-20
  • 2021-11-29
猜你喜欢
  • 2022-01-23
  • 2022-02-17
  • 2022-01-25
  • 2022-02-05
  • 2022-01-29
  • 2022-02-18
  • 2021-12-03
相关资源
相似解决方案