繁体   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