我正在使用openlayer 3.9.0。我有以下代码,我必须在地图上绘制一些叠加层。
这些叠加层即将到来但不是精确坐标。但是,只要我点击地图,这些叠加移动到正确的位置。
为了克服这一点,我试图在隐藏的div上点击事件,但它不起作用。只有当我点击地图的某个地方,然后只有这些anamoly去正确的位置。
for(var anamolyIndex=0; anamolyIndex< self.anamolyes.array.length ; anamolyIndex++)
{
tmpAnamolyObject = self.anamolyes.array[anamolyIndex];
elem = document.getElementById(tmpAnamolyObject.coordinates);
coordinate = tmpAnamolyObject.coordinates.split(",");
longitude = parseFloat(coordinate[0]);
lattitude = parseFloat(coordinate[1]);
position = ol.proj.transform([longitude, lattitude],'EPSG:4326', 'EPSG:3857');
popup = new ol.Overlay({
//position: position,
element: elem,
stopEvent:true,
positioning : 'center-center'
});
tmpAnamolyObject.type = "ANAMOLY";
popup['identity'] = tmpAnamolyObject;
elem.addEventListener('click', function() {
var coordinates = this.getAttribute('id');
self.send('onAnamolyClick',coordinates);
});
popup.setPosition(position);
self.map.addOverlay(popup);
}