Android 开发中的代码片段(3)地图操作相关

栏目: Android · 发布时间: 6年前

内容简介:收集常用的代码块,留存记录。此次代码块包含:唤起高德地图导航、唤起百度地图导航相关参数:|参数|说明|是否必填|

前言

收集常用的代码块,留存记录。此次代码块包含:唤起高德地图导航、唤起百度地图导航

代码

判断手机内安装的地图

/**判断是否安装目标应用*/
private boolean isInstallByread(String packageName) {
	return new File("/data/data/" + packageName)
			.exists();
}

/**
 * 判断和打开地图
 */
public void navigationMap() {
	//1.两个地图都安装了,让用户选择
	boolean installBaidu = isInstallByread("com.baidu.BaiduMap");
	boolean installAmap = isInstallByread("com.autonavi.minimap");
	if (installBaidu && installAmap) {//两个地图都安装了 让用户进行选择
		showSelectMap();
	} else if (installBaidu) {//安装了百度地图
		startBaiduMap();
	} else if (installAmap) {//安装了高德地图
		startAmapMap();
	} else {//两个地图都没安装,使用web Api进行导航,不建议实现
		//startWebMap();
		T.showToast(mActivity, "您的手机未安装高德地图或者百度地图");
	}
}

唤起高德地图导航(驾车)

/**
 * 唤起高德地图
 */
private void startAmapMap() {
	try {
		Intent intent = new Intent("android.intent.action.VIEW",
				android.net.Uri.parse("androidamap://route?sourceApplication=导航demo" +
						"&dlat=" + mEndLat +
						"&dlon=" + mEndLng +
						"&dname=" + name +
						"&dev=0&t=2"));
		intent.setPackage("com.autonavi.minimap");
		mActivity.startActivity(intent);
	} catch (Exception e) {
		T.showToast(mActivity, "调起高德地图失败");
	}
}

相关参数:

|参数|说明|是否必填|

|——|—–|———|

|sourceApplication|当前app的名字|

|dlat|纬度|

|dlon|经度|

|name|终点的名称|

|dev|是否偏移(0:lat 和 lon 是已经加密后的,不需要国测加密; 1:需要国测加密)|

|t|导航方式:

0 速度快

1 费用少

2 路程短;

3 不走高速

4 躲避拥堵

5 不走高速且避免收费

6 不走高速且躲避拥堵

7 躲避收费和拥堵

8 不走高速躲避收费和拥堵|

效果如下:

Android 开发中的代码片段(3)地图操作相关

唤起百度地图导航(驾车)

/**
 * 移动APP调起Android百度地图方式
 */
private void startBaiduMap() {
	try {
		Intent intent = new Intent();
		intent.setData(Uri.parse("baidumap://map/direction?destination=name:" + name + "|" +
				"latlng:" + mEndLat + "," + mEndLng + "&mode=driving&car_type=TIME"));
		mActivity.startActivity(intent); // 启动调用
	} catch (Exception e) {
		T.showToast(mActivity, "调起百度地图失败");
	}

}

相关参数:

|参数|说明|

|——|—–|

|destination|目的地名称|

|latlng|纬度,进度 拼接字符串

|mode|导航模式:

transit(公交)

driving(驾车)

walking(步行)

riding(骑行)

|car_type|驾车路线规划类型:

BLK:躲避拥堵(自驾)

TIME:高速优先(自驾)

DIS:不走高速(自驾)

FEE:少收费(自驾)

DEFAULT: 默认偏好;

默认使用地图中已保存的路线偏好(缺省值)。

除缺省值外,若用户已勾选车牌限行,其他类型都会默认增加车牌限行的偏好。

最后

本文只写了驾车相关的导航实例,剩余的公交、步行、骑行可参考官方文档。

官方文档:

- 高德地图

- 百度地图

未完待续、后续补充!

我的博客地址

以上所述就是小编给大家介绍的《Android 开发中的代码片段(3)地图操作相关》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

罗辑思维:迷茫时代的明白人

罗辑思维:迷茫时代的明白人

罗振宇 / 北京联合出版公司 / 2015-9 / 42

编辑推荐 1、 罗振宇,自媒体视频脱口秀《罗辑思维》主讲人,互联网知识型社群试水者,资深媒体人和传播专家。曾任CCTV《经济与法》《对话》制片人等。2012年底打造知识型视频脱口秀《罗辑思维》。半年内,由一款互联网自媒体视频产品,逐渐延伸成长为全新的互联网社群品牌。 他对商业和互联网的独到见解,影响了互联网一代的知识结构和对互联网的认识:人类正在从工业化时代进入互联网时代。新的时代将彻......一起来看看 《罗辑思维:迷茫时代的明白人》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

在线进制转换器
在线进制转换器

各进制数互转换器

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具