[英]How to get the marker position in openlayer
我已經實現了一個帶有drupal的幾個標記的openlayer地圖。 當我點擊標記時,我想獲得標記的經度和緯度。 我剛剛編寫了一個代碼,顯示了點擊地圖時的經度和緯度。 相反,我只想在我點擊我在地圖上繪制的標記時提醒位置。 如何獲得標記的經度和緯度?
jQuery(function ($) {
var ol_data = $('.openlayers-map').data('openlayers');
var map = ol_data.openlayers;
map.events.register("click", map, function (e) {
var lonlat = map.getLonLatFromPixel(e.xy);
alert("You clicked near " + lonlat.lat + " N, " + +lonlat.lon + " E");
});
這可能對你有所幫助
var markerslayer = map.getLayer('Markers');//get marker layer
var marker = markerslayer.markers[0];//get marker
var lonlat = marker.lonlat;//get marker latlon(position)
我沒有找到在圖層范圍內執行此操作的方法,但您可以對圖層中的每個標記執行此操作:
marker.events.register('click', marker, function (evt) {
alert("lon: "+evt.object.lonlat.lon+" , lat: "+evt.object.lonlat.lon);
});
jsFiddle: http : //jsfiddle.net/Kenny806/SmMxW/1/
這種態度的問題在於,通過許多標記,您將獲得大量注冊事件和可能的性能問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.