美文网首页Android轮子
Android 地图跳转到百度、高德、腾讯导航

Android 地图跳转到百度、高德、腾讯导航

作者: 亢兰兰 | 来源:发表于2020-01-09 14:49 被阅读0次

项目中遇到的一个需求,跳转外部App进行步行导航。分别是百度、高德、腾讯。

东西不难但是每次都要去官方文档找(有时候会更新一些字段)。

所以在此做下记录和分享。

腾讯地图

try {

LatLng latLng=TransBaiduGaodePoint.baidu_to_gaode(new LatLng(Double.parseDouble(lat),Double.parseDouble(lng)));

    Uri uri = Uri.parse("qqmap://map/routeplan?type=walk" +

"&to=" +add//终点的显示名称 必要参数

            +"&tocoord=" + latLng.latitude +"," + latLng.longitude//终点的经纬度

            +"&referer=呼唤");

    Intent intent =new Intent();

    intent.setData(uri);

    baseContext.startActivity(intent);

}catch (Exception e) {

Toast.makeText(baseContext,"请安装腾讯地图",Toast.LENGTH_SHORT).show();

}

百度地图

LatLng ptStart =new LatLng(Params.latitude, Params.longitude);

LatLng ptEnd =new LatLng(Double.parseDouble(lat), Double.parseDouble(lng));

// 构建 route搜索参数

RouteParaOption para =new RouteParaOption()

.startPoint(ptStart)

.endName(add)

.endPoint(ptEnd);

try {

BaiduMapRoutePlan.openBaiduMapWalkingRoute(para, baseContext);

}catch (Exception e) {

e.printStackTrace();

    Toast.makeText(baseContext,"请安装百度地图",Toast.LENGTH_SHORT).show();

}

高德地图

try {

LatLng latLng=TransBaiduGaodePoint.baidu_to_gaode(new LatLng(Double.parseDouble(lat),Double.parseDouble(lng)));

    Uri uri = Uri.parse("amapuri://route/plan/?dlat="+latLng.latitude+"&dlon="+latLng.longitude+"&dname="+add+"&dev=0&t=2");

    Intent intent =new Intent("android.intent.action.VIEW", uri);

    intent.addCategory("android.intent.category.DEFAULT");

    baseContext.startActivity(intent);

}catch (Exception e) {

Toast.makeText(baseContext,"请安装高德地图",Toast.LENGTH_SHORT).show();

}

坐标转换

注:我的项目中用的是百度地图,所以到高德和腾讯里面会有很多偏差。所以有个坐标转换。

/**

* 将百度坐标转变成火星坐标

*

* @param lngLat_bd 百度坐标(百度地图坐标)

* @return 火星坐标(高德、腾讯地图等)

*/

public static LatLngbaidu_to_gaode(LatLng lngLat_bd) {

double x = lngLat_bd.longitude -0.0065, y = lngLat_bd.latitude -0.006;

    double z = Math.sqrt(x * x + y * y) -0.00002 * Math.sin(y *x_pi);

    double theta = Math.atan2(y, x) -0.000003 * Math.cos(x *x_pi);

    return new LatLng(dataDigit(6, z * Math.sin(theta)), dataDigit(6, z * Math.cos(theta)));

}

最后附上三个地图跳转文档的官方链接

高德(https://lbs.amap.com/api/amap-mobile/guide/android/route)

百度(http://lbsyun.baidu.com/index.php?title=uri/api/ios&qq-pf-to=pcqq.c2c)

腾讯(https://lbs.qq.com/uri_v1/guide-mobile-navAndRoute.html)

喜欢的朋友可以关注一下

相关文章

  • Android 地图跳转到百度、高德、腾讯导航

    项目中遇到的一个需求,跳转外部App进行步行导航。分别是百度、高德、腾讯。 东西不难但是每次都要去官方文档找(有时...

  • RN-地图导航

    调起百度网页地图路径导航 调起高德网页地图路径导航 iOS调起百度APP地图路径导航 iOS调起高德app地图路径...

  • 百度地图、高德地图导航封装工具类

    title : 百度地图、高德地图导航封装工具类category : 常用封装 百度地图、高德地图导航封装工具类 ...

  • 地图集成调研

    地图集成调研 主要地图API有百度地图、高德地图、腾讯地图、搜狗地图(android、IOS暂不开放)。 百度地图...

  • iOS App内部调起百度地图、高德地图、腾讯地图

    公司App集成的是百度地图,然后调起百度地图、高德地图、腾讯地图、苹果地图进行导航的功能. 一.首先需要在info...

  • 导航工具类

    高德地图导航和百度地图导航,传入所需参数可直接使用

  • swift 实现应用外导航(swift3.1)

    简单介绍下如何使用 swift 实现跳转到高德地图、百度地图、或系统自带地图导航,有了这个,妈妈再也不用担心app...

  • 高的地图

    分享 高德地图的使用 地图产品有: 谷歌 百度 高德 腾讯 ArcGis 超图 天地图 ...

  • IOS 调用地图

    App中如何打开百度或者高德地图 百度地图URI API地址高德地图URI API地址腾讯地图URI API地址 ...

  • 高德地图,百度地图,腾讯地图哪个更准?

    高德地图,百度地图,腾讯地图哪个更准?先说结论高德第一,百度第二,腾讯第三这些地图商,他们是怎么知道"我家门口新开...

网友评论

    本文标题:Android 地图跳转到百度、高德、腾讯导航

    本文链接:https://www.haomeiwen.com/subject/vjmyactx.html