ol.overlay未正确设置位置

时间:2015-12-15 16:34:42

标签: openlayers-3

我正在使用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);                 

            }

0 个答案:

没有答案