gpt4 book ai didi

OpenLayers event.register 未注册

转载 作者:行者123 更新时间:2023-12-04 16:23:48 25 4
gpt4 key购买 nike

好吧,我是 OpenLayers 的菜鸟。我遇到的问题是这个......

在我的 javascript 中,在初始化 map 、添加基本 OSM 层并居中之后,我的代码对要添加到 map 的标记点进行 ajax 查找,所有标记都在组中,因此它为每个组创建一个新层,并且将标记添加到组图层。但是,在将标记添加到图层之前,它会使用简单的警报功能进行 mousedown 事件注册。

这里的问题是当我点击一个标记时,光标只是变成一只手,就像它认为我想拖动 map 一样。这就像顶部有一些其他层阻止点击。我尝试控制台日志记录而不是警报只是为了确保但它从未真正触发事件点击。很难做一个代码示例来显示代码的全貌,但这里有一个片段:

function createMarker(lat, lon) {
var icon = new OpenLayers.Icon('/mapicon/icon-b.png', new OpenLayers.Size(12, 20), new OpenLayers.Pixel(-6, -10)); // this is a custom image
lonlat = new OpenLayers.LonLat(lon, lat);
var marker = new OpenLayers.Marker(lonlat, icon.clone());
return marker;
}

marker = createMarker(lat,lon,'Example Title');
marker.events.register('mousedown', pin, function(evt) { alert('help!'); OpenLayers.Event.stop(evt); });

我正在撞墙,如果我不是秃顶,我会拔头发。谁有想法?

最佳答案

感谢大家的帮助。问题是(并且 OL 文档非常可悲,因此它没有在任何地方说明这一点)它与您创建图层的顺序有关。在我的代码中,我遍历了一组图层名称,并为每个名称创建了一个标记图层和一个矢量图层。我尝试先创建标记层,然后先创建矢量图层,它具有相同的点击效果。所以我尝试循环一次以首先创建所有矢量图层。再次循环并创建标记层,然后就可以了。

OL 是一个很棒的 map 系统。很遗憾他们的文档如此糟糕。样本几乎没用。如果OL是社区驱动的东西,为什么没有OL论坛?我不得不来这里,因为它似乎是 OL 用户进行任何类型发布的唯一地方。

关于OpenLayers event.register 未注册,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5098609/

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