APICloudオープンマップ三者の統合(Baiduは、高地ドイツ語、テンセント、アップル独自の)

常に、オープンシステムのアプローチマップの一種Baiduは、高地ドイツ語、テンセントに今日は時間がかかるしたかった、Appleの独自のマップは、多くのゴシップを整理していることを直接乾燥品に

-------------------------------------------------- --------------------コード開始---------------------------- -------------------------------------------------- ----------------------

<!HTMLをDOCTYPE>
<HTML>
<HEAD>
<METAのcharset = "UTF-8">
<META NAME = "ビューポート"コンテンツ=「最大規模= 1.0、最小スケール= 1.0、ユーザースケーラブル= 0、幅=デバイス幅、初期スケール= 1.0 "/>
<META NAME ="フォーマット検出"コンテンツ="電話= NO、メールで= NO、DATE = NO、アドレス= NO「>
<タイトル> apicloud Baiduは、高いドイツテンセント、アップル独自の地図ナビゲーション</ TITLE>
</ HEAD>
<BODY>
<div>の
オープンBaiduのマップ<上記のid = "百度"を言及したボタン> </ button>の
高い道徳的なマップを開くには、<上記のid = "gaode"を述べたボタン> < /ボタン>
<ボタン上記のID = "テンセント">オープンテンセントマップ</ button>の
<上記のid = "アップル"を言及したボタン>オープンアップルマップ</ボタン>
</ div>
</ BODY>
ます。<script type = "text / javascriptの" SRC = "../スクリプト/ api.js "> </ SCRIPT>
ます。<script type =" text / javascriptの" SRC = "../スクリプト/ jquery.min.js"> </ SCRIPT>
<スクリプトタイプ= "テキスト/ JavaScriptを">
apiready =関数(){
//百度マップ座標
VaRのDNAME = "Fenghuangshanを";
VARのLNG = "113.857151"; //経度
VAR LAT = "22.68097"; //緯度

$("#baidu").click(function () {
    open_bmap(dname, lng, lat);
})
$("#gaode").click(function () {

    var bd = bd_decrypt(lng, lat);
    open_amap(dname, bd.lng, bd.lat);
})
$("#tencent").click(function () {
    open_tmap(dname, lng, lat);
})

if(api.systemType == "ios") {
    $("#apple").click(function () {
         var bd = bd_decrypt(lng, lat);
        open_pmap(dname, bd.lng, bd.lat);
    })
}else{
  $("#apple").hide();
}

}

//オープンBaiduのマップ
機能open_bmap(DNAME、LNG、LAT){
VARのuri = 'baidumap:あなたは=名前:?たいです//マップ/方向' + DNAME + '|緯度経度の:' + LAT + '' + LNG +「&MODE =ドライビング&SRC andr.cheyw =「;
api.openApp({
URI:URI、
iosUrl:URI
}、関数(RET、ERR){
にconsole.log(JSON.stringify(ERR))
"アプリケーションがインストールされない"(err.msg == IF || err.msg == "が見つかりません実行可能なアプリケーション"){
アラート( "百度マップをインストール");
}
});
}

//高い道徳マップ開き
関数open_amapを(DNAME、LNG、LAT){
VARのURI = 'amapuri :? //ルート/計画/ DLAT =' + LAT + '&dlon =' + LNG + '&DNAME =' + DNAME +「&DEV = 0&T = 0 ';
VAR iosUrl =' iosamap :? //パスsourceApplication = cheyw&DLAT = '+ LAT +' &dlon = '+ LNG +' &DNAME = '+ DNAME +' &DEV = 0 T = 0「;
api.openApp({
URI:URI、
iosUrl:iosUrl
}、関数(RET、ERR){
にconsole.log(JSON.stringify(ERR))
"アプリケーションがインストールされていない"(err.msg == IF || err.msg == "実行可能なアプリケーションが見つかりません" ){
アラート() "ガイドマップをインストール";
}
});
}

//オープンテンセントのマップ
機能open_tmap(DNAME、LNG、LAT){
VARのURI = 'qqmap :? //タイプのマップ/ routeplan =ドライブ&fromcoord = CurrentLocation&へ=' + DNAME + '&tocoord =' + LAT + '' + LNG +「&リファラー= D4W3U-B7VVO - OB4BZ 4PJWW-6TKDJ-WPB77「;
api.openApp({
URI:URI、
iosUrl:URI
}、関数(RET、ERR){
にconsole.log(JSON.stringify(ERR))
IF(err.msg == "アプリケーションインストールされていない" || err.msg == " が見つかりません実行可能なアプリケーション"){
アラート( "Tencentのマップをインストール");
}
});
}

//アップルマップ
関数open_pmap(DNAME、LNG、LAT){
VAR URI = ' http://maps.apple.com/?q='+dname+'&daddr='+lat+','+lng +「。
api.openApp({
URI:URI、
iosUrl:URI
}、関数(RET、ERR){
にconsole.log(JSON.stringify(RET))
はconsole.log(JSON.stringify(ERR))
});
}

//百度より高いド(着信経度、緯度)に配位
関数bd_decrypt(bd_lng、bd_lat){
VAR X_PIにMath.PI = 3000.0 / 180.0;
VAR X = bd_lng - 0.0065;
Y bd_lat VAR = - 0.006;
VARのZ =数学.sqrt(X
X + Y Y) - 0.00002 Math.sin、(Y X_PI);
VAR Math.atan2シータ=(Y、X) - 0.000003
Math.cos(X X_PI);
VAR Z = gg_lng
Math.cos(シータ) ;
VAR Z = gg_lat Math.sin、(シータ);
戻り{LNG:gg_lng、LAT:gg_lat}
}
//百度(着信経度、緯度)デ以上に座標
関数bd_encrypt(gg_lng、gg_lat){
VAR = X_PI数学。 PI
3000.0 / 180.0;
VAR X = gg_lng、Y = gg_lat;
VAR Math.sqrt Z =(X X + YY)+ 0.00002 Math.sin(Y X_PI)。
VaRのMath.atan2シータ=(Y、X)+ 0.000003 (X Math.cos X_PI)。
VAR = Z bd_lng Math.cos(シータ)+ 0.0065。
bd_lat VAR = Z
Math.sin(シータ)+ 0.006。
{戻りbd_lat:bd_lat、bd_lng:bd_lng}
}
</ SCRIPT>
</ HTML>

-------------------------------------------------- ---------------------------コード終了--------------------- -------------------------------------------------- -

特別な注意:
URI IOSとAndroidの1.高い道徳的なマップは同じではありません。
2.アプリケーションをインストールするかどうかを判断するためにapi.appInstalledを使用しないでください、IOS9は、上記検出されないようです。
2つの方法が逆に書かないbd_encrypt 3.慎重に、bd_decrypt見えます。
テンセントとBaiduのマップの緯度と経度、緯度、経度、アップルと同じ4.マップと同じドイツ高が付属しています。

おすすめ

転載: blog.51cto.com/9334358/2447065