百度マップ:緯度と経度との距離によって位置情報を取得します

位置情報を取得:次に緯度と経度第一のマイクロチャネルパブリック数で得られ、交換緯度と経度の位置

< スクリプト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)、
        距離を返します; 
    }

 

おすすめ

転載: www.cnblogs.com/zhuyapeng/p/11317000.html