1. 程式人生 > >android跳轉手機百度高德騰訊谷歌地圖、地圖傳座標、座標偏移、base64解碼相關

android跳轉手機百度高德騰訊谷歌地圖、地圖傳座標、座標偏移、base64解碼相關

調起百度的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.43234
destination 終點名稱或經緯度,或者可同時提供名稱和經緯度,此時經緯度優先順序高,將作為導航依據,名稱只負責展示。 必選 同上
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=b
dapp;package=com.baidu.BaiduMap;end");  
startActivity(intent); //啟動呼叫
//網頁應用調起Android百度地圖方式舉例
<a href="intent://map/direction?origin=latlng:34.264642646862,108.95108518068|name:我家&destinat
ion=大雁塔&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);