簡體   English   中英

如何在Gmap中通過javaScript獲取標記ID

[英]How can i get Marker id via javaScript in Gmap

當我在bean中創建Marker時,我為每個標記設置了一個ID。原因是我想通過引用該ID在客戶端(javaScript)中訪問它們。 到目前為止,我無法做到這一點,因為我無法獲得標記的ID。我該怎么做。這是我的代碼。

//in my bean
LatLng coord = new LatLng(36.885233, 30.702323);
Marker m1 = new Marker(coord, "User A");
m1.setId("a");

getSimpleModel().addOverlay(m1);


//in my xhtml

var markers = map.getMap().markers;
for (var i = 0; i < markers.length; i++) {
                var marker = markers[i];
                 //i want to get the id of the marker here 

}

您可以使用以下javascript代碼獲取元素的ID:

map.getMap().markers[i].id

其中“ i”是標記數組中的元素位置。 但是我認為這個對象ID是由谷歌庫自動生成的,在您的情況下,最好在bean中設置所有對象數據:標記,多邊形,圓形,...具有“數據”屬性,因此您可以獲取所有元素屬性你要。

設置每個標記:

    (...)
    if(obj != null ){
         marker.setData(obj);
   } 

偵聽器方法:

 public void onMarkerSelect(OverlaySelectEvent event) {
      marker = (Marker) event.getOverlay();
  }

視圖:

將偵聽器嵌套在您的gmap代碼中:

 <p:ajax event="overlaySelect" listener="#{mapBean.onMarkerSelect}" />

因此,在視圖中,您可以使用以下命令訪問所選元素:

#{mapBean.marker.data.id}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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