Android应用调起三方地图进行导航
来源:互联网 发布:上海美国学校 知乎 编辑:程序博客网 时间:2024/05/22 04:46
当项目中需要用到地点导航,可能你需要集成三方地图,但现在更多的应用的做法是直接调起手机中已经安装好的地图,高德,百度等等,这样比集成三方地图来得更快,可行性也更高,下面代码都是参考网络上的,自己整理了下
一.使用谷歌地图
Intent intent = new Intent(android.content.Intent.ACTION_VIEW, Uri.parse("http://ditu.google.cn/maps?hl=zh&mrt=loc&q=31.1198723,121.1099877(上海青浦大街100号)"));intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK & Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);intent.setClassName("com.google.android.apps.maps", "com.google.android.maps.MapsActivity");startActivity(intent);
二、使用三方地图
判断地图应用是否安装
private boolean isInstallByread(String packageName) { return new File("/data/data/" + packageName).exists();}
1.高德地图
private void openGaode(){ try { if (isInstallByread("com.autonavi.minimap")) { Intent intent = new Intent( "android.intent.action.VIEW", android.net.Uri.parse( "androidamap://route?sourceApplication=应用名称" + "&dlat="+ currentLatitude//终点的经度 + "&dlon="+ currentLongitude//终点的纬度 +"&dname=终点地名" + "&dev=0" + "&t=1")); startActivity(intent); } else { Toast.makeText(MainActivity.this, "没有安装百度地图客户端,请先下载该地图应用", Toast.LENGTH_SHORT).show(); } } catch (Exception e) { e.printStackTrace(); }}
2.百度地图
private void openBaidu(){ try { if (isInstallByread("com.baidu.BaiduMap")) { Intent intent = new Intent(); intent.setData(Uri.parse("baidumap://map/direction?origin=name:我的位置|latlng:" +locLongitude//起始点经度 +"," +locLatitude//起始点纬度 +"&destination=" +currentLatitude//终点纬度 +"," +currentLongitude//终点经度 +"&mode=transit&sy=0&index=0&target=1")); intent.setPackage("com.baidu.BaiduMap"); startActivity(intent); // 启动调用 } else { Toast.makeText(MainActivity.this, "没有安装百度地图客户端,请先下载该地图应用", Toast.LENGTH_SHORT).show(); } } catch (Exception e) { e.printStackTrace(); }}
个人测试的时候仅测试了下高德和百度的都可以,需要注意的是高德地图的经纬度和百度地图的经纬度存在差异,也就是说,假如你的项目使用高德api获取到的经纬度,不能直接拿到百度地图来进行导航,需要进行转换,代码可以网上查,挺多,反之亦然。谷歌地图的启动的时候一直提示网络无法连接,因为是外网,需要翻墙,估计在项目中用到不多,手机上如果没有谷歌地图的话,启动会报ActivityNotFoundException,try catch下就好了,代码仅供参考,有建议或意见欢迎提出
0 0
- Android应用调起三方地图进行导航
- 基于ros系统下使用Android应用 Make nav进行地图加载和导航
- iOS应用根据经纬度打开不同地图app进行导航
- android地图导航
- Android 地图导航开发
- Android 调用地图导航
- Android 调用地图导航
- IndoorAtlas:利用地磁进行室内导航的移动地图应用(附视频)
- IndoorAtlas:利用地磁进行室内导航的移动地图应用(附视频)
- IOS实现应用内打开第三方地图app进行导航
- IOS实现应用内打开第三方地图app进行导航
- 打开苹果自带地图进行导航
- 微信小程序中进行地图导航
- 安卓调起高德百度第三方地图进行导航
- 微信端唤起腾讯地图并进行导航
- Android地图导航工具 - mapsforge
- 百度地图导航与百度地图进行的坐标转换
- 使用百度地图API进行Android地图应用开发(Eclipse)
- kurento项目介绍
- 使用SSM+ajax+echarts制作报表图
- python 对csv文件的列的内容读取
- easyui datagrid 列分组和行归组
- 截取Android系統的PCM方法
- Android应用调起三方地图进行导航
- Jetson TX1开发笔记(二):TX1开发前必做的几件事
- Servlet、Filter、Listener深入理解
- Redis server安装
- java对象和json对象之间互相转换(中)
- 如何把一个Qt项目拆成多个Qt子项目
- 关于Uncaught TypeError: Cannot set property 'onClick' of null。的问题
- 编辑距离
- UDP服务器端和客户端程序设计