位置情報を取得:次に緯度と経度第一のマイクロチャネルパブリック数で得られ、交換緯度と経度の位置
< スクリプトSRC = "http://res.wx.qq.com/open/js/jweixin-1.0.0.js" > </ スクリプト> < スクリプトタイプ= "テキスト/ javascriptの" SRC = "のhttp:// api.map.baidu.com/api?v=1.4" > </ スクリプト> < スクリプト> のvar 署名= ' ViewBag.signature @ ' ; // 微信 wx.config({ デバッグ:偽、 APPID:' 211 ' 、 タイムスタンプ:、121 ' 署名:署名、 jsApiList:[ ' のgetLocation ' ] }); wx.ready(関数(){ wx.getLocation({ 成功:関数(RES){ VARの緯度= res.latitude; // 緯度、フロート、-90〜90の範囲内のvar 経度= res.longitude; // 経度、浮動小数点、-180〜180の範囲である。VARの速度= res.speed; // 速度、メートル単位/秒単位のVaRの精度 = Res.accuracy; // 位置精度 のgetAddress(緯度、経度); }、キャンセル:機能(RES){ アラート(' ユーザが許可を拒否された地理的位置を取得する' ); }、 失敗:機能(RES){ アラート(「ゲット故障の場所" ); } }); }); 関数のgetAddress(緯度、経度){ VARの地図= 新しい新BMap.Map("allmap " mapAddress。); VaRの点= 新しいBMap.Point(経度、緯度)。 VaRのGC = 新しいBMap.Geocoder(); gc.getLocation(点、関数(RS){ VAR addComp = rs.addressComponents; VAR mapAddress = addComp.province + addComp.city + addComp.district + addComp.street + addComp.streetNumber; vm.address = })。 }
距離を計算します:
/ **
* 2点間の距離が計算される
* PT1 { "12.34" LNG :LAT "3423"} 第1の点の緯度と経度
*のPT2 {: "12.34" LNG :LAT "3423"} 第二の点を緯度と経度
* /
getDistance:関数(PT1、PT2){
VAR新しい新しいBMap.Map地図=( "コンテナ");
VAR =新しい新しいBMap.PointにPoint1(pt1.lng、pt1.lat);
VAR =新しい新しいポイント2 BMAP。点(pt2.lng、pt2.lat);
VAR =距離map.getDistance(にPoint1、ポイント2)、
距離を返します;
}