好吧我是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