好吧我是OpenLayers的noob。我有这个问题是...OpenLayers event.register没有注册
在我的JavaScript中,初始化地图后,添加基本OSM图层和居中,我的代码做了一个标记点的ajax查找添加到地图,所有标记是分组的,所以它为每个组创建一个新层,并将标记添加到组层。但是,在将标记添加到图层之前,它会使用简单的警报功能执行mousedown的事件注册。
这里的问题是,当我点击一个标记时,光标就会变成一只手,就像它认为我想拖动地图一样。就像上面有一些其他图层可以阻止点击。我尝试了控制台日志记录,而不是提醒,只是为了确保它不会实际触发事件点击。这是很难做一个代码示例,将显示代码的全貌,但这里有一个片段:
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); });
我打在墙上,如果我不是秃头,我会出去拉我的头发。有人有主意吗?
添加一个链接我的答案。 – 2011-03-23 15:14:24