android 高德路线,【Android呼叫高德路线规划】

c1783a6e6ed2290b8ae6cd3d9fce2048.png

要今天使用路径规划功能,您需要使用高德地图或百度地图,然后考虑如何实现更好的发展. 只是放眼未来,这是检查导航应用程序是否在计算机上安装了地图应用程序. 如果有,您可以直接打开它. 如果没有,则可以通过浏览器计划打开百度网络地图.

主要过程是这样,首先确定是否安装了高德地图,如果有,打开高德地图应用程序;否则,确定是否有百度地图;否则,使用浏览器网页路径规划直接跳至高德地图:

if(PackageManagerUtil.haveGaodeMap()){

openGaodeMapToGuide();

} else if(PackageManagerUtil.haveBaiduMap()){

openBaiduMapToGuide();

}else {

openBrowserToGuide();

}

对应的地图调用有其自己的书写方法,可以在官方网站上进行检查. 我在这里的某些点缺少起点,因为我的起点是通过定位获得的. 如果我不写,他们会将起点默认为定位位置.

private void openBaiduMapToGuide() {

Intent intent = new Intent();

double[] location = GPSUtil.gcj02_To_Bd09(locationX , locationY);

String url = "baidumap://map/direction?" +

"destination=name:"+storeName+"|latlng:"+location[0] + "," + location[1]+

"&mode=transit&sy=3&index=0&target=1";

Uri uri = Uri.parse(url);

//将功能Scheme以URI的方式传入data

intent.setData(uri);

//启动该页面即可

startActivity(intent);

}

private void openGaodeMapToGuide() {

Intent intent = new Intent();

intent.setAction(Intent.ACTION_VIEW);

intent.addCategory(Intent.CATEGORY_DEFAULT);

String url = "androidamap://route?sourceApplication=amap&slat="+currLocationX+"&slon="+currLocationY

+"&dlat="+locationX+"&dlon="+locationY+"&dname="+storeName+"&dev=0&t=1";

Uri uri = Uri.parse(url);

//将功能Scheme以URI的方式传入data

intent.setData(uri);

//启动该页面即可

startActivity(intent);

}

private void openBrowserToGuide() {

String url = "http://uri.amap.com/navigation?to=" + locationY + "," + locationX + "," +

storeName + "&mode=car&policy=1&src=mypage&coordinate=gaode&callnative=0";

Uri uri = Uri.parse(url);

Intent intent = new Intent(Intent.ACTION_VIEW, uri);

startActivity(intent);

}

public class PackageManagerUtil {

private static PackageManager mPackageManager = TheApp.instance.getPackageManager();

private static List mPackageNames = new ArrayList<>();

private static final String GAODE_PACKAGE_NAME = "com.autonavi.minimap";

private static final String BAIDU_PACKAGE_NAME = "com.baidu.BaiduMap";

private static void initPackageManager(){

List packageInfos = mPackageManager.getInstalledPackages(0);

if (packageInfos != null) {

for (int i = 0; i < packageInfos.size(); i++) {

mPackageNames.add(packageInfos.get(i).packageName);

}

}

}

public static boolean haveGaodeMap(){

initPackageManager();

return mPackageNames.contains(GAODE_PACKAGE_NAME);

}

public static boolean haveBaiduMap(){

initPackageManager();

return mPackageNames.contains(BAIDU_PACKAGE_NAME);

}

}

aeb376395b4aee45f2911f3699add162.png

注意: 由于我的初始坐标是高德地图的坐标,因此不能在百度地图上使用. 由于两个标准不同,我们需要将高德地图的坐标转换为百度地图使用的坐标. 具体的转换工具方法请参考以下参考文献.

参考:

地图和高德地图之间的坐标系转换

城市地图URI路径规划

调用高德地图应用程序的路径规划

百度地图URI API

20180425182308_156a8173db975f70a6acd116164b1c64_1.jpeg

386145c421478c2d1cc1cc52bec59283.png

Android呼叫高德路线规划相关内容

高道德地图android实现weex可以调用,无法显示地图的功能

读数1885

Weex称Android为本地人

来自oCUPID的博客帖子

02f8be991debdf8ee36ecf57e3c70b0c.png

Android项目中基于高德地图API的Android移动开发呼叫定位

阅读编号7605

基于地理位置服务的Android平台的开发对于Android移动开发非常重要. 基于地理位置服务的Android平台的开发主要用于Android系统作为载体. 我们可以使用定位的位置进行许多丰富多彩的操作. 例如,天气预报程序可以根据用户的位置自动选择城市. 在微博上发帖时,我们可以向朋友展示我们的地理位置. 当我们不知道道路时,我们可以随时打开地图查询路线; Di或Uber,您可以观看

来自fukaimei的博客帖子

反应本机android高德语地图本机代码编写

阅读编号2772

b618a24178ff983d87fd331ce32b7f64.png

反应本机android高德语地图本机代码准备版权声明: 本文是博主的原创文章,未经博主许可不得复制. 反应本机android高德语地图本机代码编写android代码MyAmapView高德地图注释代码AMapViewManager代码注释错误代码外部js如何调用viewManager AMapModule代码注释错误

博客帖子来自: qq_27507377

Android呼叫高德地图应用语音导航

读数数0

直接调用高德地图应用进行导航. 首先网页调用高德地图导航,您必须首先进入高德开放平台. 注册并登录后,创建自己的APP,然后生成aey高德开放平台URL: 然后下载jar包并将其导入到项目项目LatLng l = new LatLng(lat网页调用高德地图导航,long); //经度和纬度

博客帖子来自: u013705673

Android调用高德地图汽车版

阅读46

高德地图的汽车版本与百度地图调用方法不同. 高德正在广播,因此无法调整时间,仅当应用程序在后台运行时(此官方API也对此进行了描述),否则请使用代码强制打开应用程序并返回导航(我觉得很麻烦,我没有找到解决方案)字符串pkgName =“ com.autonavi.amapauto”; Intent launchIntent =新的Intent(); launchIntent.setC ...

博客帖子来自: gsmmSummer

本文来自电脑杂谈,转载请注明本文网址:

http://www.pc-fly.com/a/shouji/article-206746-1.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值