高德地圖之經緯度

本文把高德地圖的鼠標點擊獲取經緯度與點標記與地理編碼融合到了一起

首先要創建自己的應用,并且添加key(服務用到的JavaScript API)

先把獲取經緯度的代碼復制過來,進行修改取消地圖的點擊操作。放到marker點擊效果里

var clickEventListener = map.on('click', function(e) {

document.getElementById("lnglat").value = e.lnglat.getLng() + ',' + e.lnglat.getLat()

});

并且在select方法里面添加地圖監聽

function select(e) {

AMap.event.addListener(placeSearch, "complete", keywordSearch_CallBack);//返回地點查詢結果

placeSearch.setCity(e.poi.adcode);

placeSearch.search(e.poi.name);? //關鍵字查詢查詢

}

keywordSearch_CallBack這個方法用來獲取marker的個數,來對marker進行修改

function keywordSearch_CallBack(data) {

var resultStr = "";

var poiArr = data.poiList.pois;

var resultCount = poiArr.length;

for (var i = 0; i < resultCount; i++) {

addmarker(i, poiArr[i]);

}

map.setFitView();

}

添加marker并且對窗體進行了修改

function addmarker(i, d) {? ??

var lngX = d.location.getLng();? ? ??

var latY = d.location.getLat();? ? ?

var markerOption = {? ? ? ? ??

map:map,? ? ? ? ??

icon:"http://webapi.amap.com/images/" + (i + 1) + ".png",? ? ? ? ??

zIndex:200,? ? ? ?

clickable:true,? ? ? ??

offset:new AMap.Pixel(-10,-34),? ? ? ??

position:new AMap.LngLat(lngX, latY)? ? ? };? ? ? ? ? ? ?

?var mar = new AMap.Marker(markerOption);? ? ? ? ? ? ? ?

?marker.push(new AMap.LngLat(lngX, latY));? ? ? ??

var infoWindow = new AMap.InfoWindow({? ? ? ? ??

content:"<h3><font color='#00a6ac'>" + (i + 1) + ". " + d.name + "</font></h3>" + TipContents(d.type, d.address, d.tel),? ? ? ? ?

size:new AMap.Size(300, 0),? ? ? ? ??

?autoMove:true,? ? ? ? ? ??

offset:new AMap.Pixel(0,-30)? ? ?

?});? ? ??

windowsArr.push(infoWindow);? ? ??

?var aa = function (e) {infoWindow.open(map, mar.getPosition());};? ? ??

AMap.event.addListener(mar, "click", aa);? ? ??

AMap.event.addListener(mar,'click',getLnglat); }//marker點擊效果

function TipContents(type, address, tel) {? //窗體內容? ? ?

if (type == "" || type == "undefined" || type == null || type == " undefined" || typeof type == "undefined") {? ? ? ? ? type = "暫無";? ? ? }? ? ?

if (address == "" || address == "undefined" || address == null || address == " undefined" || typeof address == "undefined") {? ? ? ? ? address = "暫無";? ? ? }? ? ?

if (tel == "" || tel == "undefined" || tel == null || tel == " undefined" || typeof address == "tel") {? ? ? ? ? tel = "暫無";? ? ? }? ? ? var str = "? 地址:" + address + "

電話:" + tel + "類型:" + type;? ? ?

?return str;? }

//鼠標在地圖上點擊,獲取經緯度坐標

function getLnglat(e) {

document.getElementById("lngX").value = e.lnglat.getLng();

document.getElementById("latY").value = e.lnglat.getLat();

}

此時效果已經實現的差不多,就差一步,當文本框里面有經緯度的時候,在地圖上顯示當前位置即可

$(document).ready(function(){

if($("#lngX").val()!=""){

var lngX = $("#lngX").val();

var latY = $("#latY").val();

lnglatXY = [lngX, latY]; //已知點坐標

//逆地理編碼

var geocoder = new AMap.Geocoder({

radius: 1000,

extensions: "all"

});

var marker = new AMap.Marker({? //加點

map: map,

position: lnglatXY

});

map.setFitView();

}

});

END

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoot...
    wangyw閱讀 594評論 0 0
  • 今天回湘潭啦~在火車上。 這次來武漢這兩天,出來散散心,出來找人聊聊天,挺好的一次旅行。好多事想開了,也想通了,人...
    昂昂昂昂昂呀閱讀 363評論 0 0
  • 小時候很可愛,喜歡和同學在一些成語后加上語助詞。記憶最深刻的:光陰似箭——嗖!嗖!嗖!時光如流水——嘩啦啦啦!嘩啦...
    九丑_閱讀 545評論 4 5
  • “2015年11月份的時候,虎嗅上面有篇文章《只做微信公號的你,正在輸掉內容創業的下半場》(作者:王記超)提到,從...
    新媒體課堂閱讀 680評論 0 1
  • 今天偶然看到推送,讓我注意的關鍵詞是“滾石”,這個曾經出了大批影響我這個年紀人的歌曲,它們的旋律,也是我們青春的記...
    芮靈翾閱讀 207評論 0 0