Android开发丶调用百度高德腾讯等第三方地图进行导航

地图导航是一种很常见的功能了,一般我们都是通过集成第三方地图app,诸如百度地图、高德地图和腾讯地图来实现,相应的开放平台也提供了SDK自带的方法实现,不过这种方法需要去下载SDK,申请appkey等一系列比较繁琐的操作,相比这种方法,我们可以用更为便捷的URL调起地图app,仅需几行代码即可。

1.百度地图

Intent intent = new Intent();
intent.setData(Uri.parse("baidumap://map/navi?query=" + address + "&src=andr.baidu.openAPIdemo"));
context.startActivity(intent);

2.高德地图

String uri = String.format("amapuri://route/plan/?dname=%s&dev=0&t=0", address);
Intent intent = new Intent();
intent.setAction("android.intent.action.VIEW");
intent.addCategory("android.intent.category.DEFAULT");
intent.setData(Uri.parse(uri));
intent.setPackage("com.autonavi.minimap");
startActivity(intent);

3.腾讯地图

Intent intent = new Intent();
intent.setData(Uri.parse("qqmap://map/routeplan?type=drive&to=" + addressName + "&tocoord=" + desLatLng.latitude + "," + desLatLng.longitude + "&referer=OB4BZ-D4W3U-B7VVO-4PJWW-6TKDJ-WPB77"));
startActivity(intent);

经过本人测试,高德和百度地图只需要传入目的地地址即可,腾讯地图则必须传入目的地经纬度,因此对于某些后台不能提供经纬度的情况,我们可以把地址转为经纬度即可,注意百度地图用的是百度系坐标,腾讯和高德采用火星系坐标,因此要注意不同坐标系的转化。

 

 

你可能感兴趣的:(Android)