android跳转手机百度高德腾讯谷歌地图、地图传坐标、坐标偏移、base64解码相关

来源:互联网 发布:热血江湖怪物数据 编辑:程序博客网 时间:2024/05/16 14:16


调起百度的native app

http://developer.baidu.com/map/uri-introandroid.htm#idmykey47

坐标转换

http://api.map.baidu.com/ag/coord/convert?from=2&to=4&x=31.245406&y=121.493452

android base64 解密

http://www.osblog.net/wangxp/154.html

百度、高德、腾讯调起地图的用法

http://blog.csdn.net/cooldragon/article/details/20642131


4.7 公交、驾车、步行导航

调起Android百度地图,展示指定导航模式下从起点到终点的路线规划。

服务地址

intent://map/direction       //Android服务地址(基于Android SDK应用开发)bdapp://map/direction      //Android服务地址(基于浏览器端应用开发)

参数名称参数说明是否必选备注origin起点名称或经纬度,或者可同时提供名称和经纬度,此时经纬度优先级高,将作为导航依据,名称只负责展示。必选1、名称:天安门
2、经纬度:39.98871 <纬度> ,116.43234 <经度> 。
3、名称和经纬度:name:天安门|latlng:39.98871,116.43234destination终点名称或经纬度,或者可同时提供名称和经纬度,此时经纬度优先级高,将作为导航依据,名称只负责展示。必选同上mode导航模式,固定为transit、driving、walking,分别表示公交、驾车和步行必选 region城市名或县名当给定region时,认为起点和终点都在同一城市,除非单独给定起点或终点的城市。 origin_region起点所在城市或县同上 destination_region终点所在城市或县同上 coord_type坐标类型,可选参数,默认为bd09经纬度坐标。可选允许的值为bd09ll、bd09mc、gcj02、wgs84。bd09ll表示百度经纬度坐标,bd09mc表示百度墨卡托坐标,gcj02表示经过国测局加密的坐标,wgs84表示gps获取的坐标。zoom展现地图的级别,默认为视觉最优级别。可选 src调用来源,规则:companyName|appName。必选 

示例

//移动APP调起Android百度地图方式举例intent = Intent.getIntent("intent://map/direction?origin=latlng:34.264642646862,108.95108518068|name:我家&destination=大雁塔&mode=driving&region=西安&src=yourCompanyName|yourAppName#Intent;scheme=bdapp;package=com.baidu.BaiduMap;end");  startActivity(intent); //启动调用//网页应用调起Android百度地图方式举例<a href="intent://map/direction?origin=latlng:34.264642646862,108.95108518068|name:我家&destination=大雁塔&mode=driving&region=西安&src=yourCompanyName|yourAppName">线路规划</a>

调起Android地图效果如下:



baidu经纬度坐标与google经纬度坐标都是经过转换的。使用下面那个url可以将原始坐标或者谷歌的坐标转换成baidu的坐标
http://api.map.baidu.com/ag/coord/convert?from=0&to=4&x=116.308992&y=40.059225,将得到的base64字符,还原就是真实的经纬度。

请求接口中有四个参数:
其中,from和to对应的值分别是:0真实坐标;2google坐标;4baidu坐标。
from:被转换的坐标体系
to:转换到这个坐标体系
x:经度
y:纬度
接口应答中有三个key,
应答格式如:{"error":0,"x":"MTE2LjMyMTYyMzg4MjIz","y":"NDAuMDY2NDE2Mjc4NzMx"}

base64可以转码



解码

public static String encryptBASE64(byte[] key) throws Exception {  
        return (new BASE64Encoder()).encodeBuffer(key);  


0 0