gpt4 book ai didi

java - 我如何通过Gmap中的javaScript获取Marker id

转载 作者:行者123 更新时间:2023-11-28 09:25:48 25 4
gpt4 key购买 nike

当我在 bean 中创建标记时,我为每个标记设置了一个 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中设置所有对象数据:标记,多边形,圆形,...具有“数据”属性,这样你就可以获得所有元素属性你要。

bean :

设置每个标记:

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

监听方法:

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

查看:

在 gmap 代码中嵌套监听器:

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

因此,在 View 中,您可以通过以下方式访问所选元素:

#{mapBean.marker.data.id}

关于java - 我如何通过Gmap中的javaScript获取Marker id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14438676/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com