簡體   English   中英

如何在openlayer中獲取標記位置

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM