gpt4 book ai didi

openlayers - 将数据添加到打开的图层标记

转载 作者:行者123 更新时间:2023-12-04 04:46:08 24 4
gpt4 key购买 nike

我正在使用开放式街道 map 和开放式街道图层,我正在尝试创建一张门票(标记) map ,技术人员将在该 map 上前往标记处工作并移动到下一个。我能够创建标记并具有触发的 onclick 功能。我无法弄清楚的是如何从标记本身中提取信息。我正在创建标记,例如..

addPinViaLongLat: function(icon, long, lat, popupString) { 
var icon_marker = new OpenLayers.Icon(icon, null, null);
var marker = new OpenLayers.Marker(new OpenLayers.LonLat(long, lat).transform(rapidSchedulingMap.coor_from, rapidSchedulingMap.coor_to), icon_marker);
var popup;

marker.events.register('mouseover', marker, function(evt) {
popup = new OpenLayers.Popup.FramedCloud("Popup",
new OpenLayers.LonLat(long, lat).transform(rapidSchedulingMap.coor_from, rapidSchedulingMap.coor_to),
null,
popupString,
null,
false);
rapidSchedulingMap.map.addPopup(popup);
});
marker.events.register('mouseout', marker, function(evt) {
popup.hide();
});
rapidSchedulingMap.bindClick(marker);
rapidSchedulingMap.layer.addMarker(marker);
},

我想知道是否有一种方法可以添加数据,因此在单击时我可以像marker.ticketNumber 一样引用它。我没有在谷歌上搜索过类似的东西,所以我转向了这里。希望有人有一些想法。

编辑:
我找到了 how to remove a specific marker in openlayer这显示了执行 marker.XXXX 然后将标记插入数组以跟踪所有标记的能力。

最佳答案

我找到了解决方案...

var marker = new OpenLayers.Marker(new OpenLayers.LonLat(long, lat).transform(rapidSchedulingMap.coor_from, rapidSchedulingMap.coor_to), icon_marker);
marker.data = data;

然后,当我单击标记时,我可以执行 marker.data 并拉出我为每个标记存储的对象。无需做额外的数组来跟踪任何值。

关于openlayers - 将数据添加到打开的图层标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18155208/

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