最近在开发的过程中遇到一个问题,需要在APP内部打开手机内部的百度地图或高德地图进行地点的路线图规划。在网上查看了高德,百度地图的API和技术文章,解决了这个问题。
首先要判断手机中是否安装了百度,高德地图的应用,没有的话给出提示或跳转到应用商店提醒用户进行下载。
先看百度地图把,打开地图进行路线规划首先需要很多参数,如图;
如果提供了经纬度,就可以这样拼参:
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,主要的难点在拼参这里。效果图展示:
代码传送门:https://download.csdn.net/download/u010007428/10402786