【筆記】使用騰訊地圖坐標轉換


 

首先是js的引用

<script charset="utf-8" src="http://map.qq.com/api/js?v=2.exp&key=YOUR_KEY"></script>

 

騰訊地圖js除了提供基本的功能庫外,還提供了一些有用的附加庫,下面這個是引用了坐標轉換庫的js引用

<script type="text/javascript" charset="utf-8" src="http://map.qq.com/api/js?v=2.exp&key=YOUR_KEY&libraries=convertor"></script>

其中libraries參數用來指明加載的附加庫,可以指定多個附加庫名稱,

名稱之間用英文半角字符逗號","分隔。支持的附加庫種類:

  • drawing 繪圖工具庫,用於在地圖上方繪制折線、多邊形、圓等幾何圖形;
  • geometry 幾何運算庫,用於計算地球表面的距離、面積等;
  • autocomplete 文本輸入提示庫,用於快速幫助用戶完成檢索關鍵詞輸入;
  • convertor 坐標轉換庫,將標准經緯度或其它地圖API經緯度轉換為騰訊經緯度坐標系。

關於附加庫的詳細接口,請參見騰訊地圖的參考手冊

 

我這里只需要引用坐標轉換庫

首先是地圖坐標轉換,其實這些在騰訊地圖API中都能找的到,我這邊只是做個筆記,方便下次用到。

//百度地圖坐標轉騰訊地圖坐標
conver: function () {
  //轉換百度坐標為騰訊坐標
   qq.maps.convertor.translate(new qq.maps.LatLng("百度坐標N", "百度坐標E"), 3, function (res) {
     latlng = res[0];
     //console.log(latlng);
     location.href = "http://apis.map.qq.com/uri/v1/marker?marker=coord:" + latlng.lat + "," + latlng.lng + ";title:想要顯示的坐標名稱&referer=myapp"; })
}

 

然后是根據地址查詢坐標

selectLoaction: function () {
  //調用地址解析類
   geocoder = new qq.maps.Geocoder({
     complete: function (result) {
        location.href = "http://apis.map.qq.com/uri/v1/marker?marker=coord:" + result.detail.location.lat + "," + result.detail.location.lng + ";title:想要顯示的坐標名稱&referer=myapp";
       }
   });
   geocoder.getLocation("需要查詢的地址");
}

 

最后一個是對標記的操作,在地圖上點擊時添加一個標記,並刪除原來的標記。

//初始坐標
var center = new qq.maps.LatLng(39.916527, 116.397128); map = new qq.maps.Map(document.getElementById('container'), { center: center, zoom: 15 }); //添加監聽事件,獲取鼠標單擊事件 qq.maps.event.addListener(map, 'click', function (event) { //刪除一個初始標記 if (markersArray) { for (i in markersArray) { markersArray[i].setMap(null); } } //添加標記 var marker = new qq.maps.Marker({ position: event.latLng, map: map }); console.log(event.latLng); //刪除原來的標記 qq.maps.event.addListener(map, 'click', function (event) { marker.setMap(null); }); });

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM