我正在使用 Openlayers 3 ,我从ol.MapBrowserPointerEvent
获取了错误的坐标。
关键是,我得到这个坐标,我打印一个弹出窗口(popup.show
),距我点击的地方几米远。但是,当我从PostGIS
获得几何(点)以使用相同的方法(popup.show
)打印它时,它被正确放置。
我对所有检查都做了肯定的事(用QGIS
手动完成,并使用相同的栅格图层作为参考)。
因此,我假设我从点击事件得到的坐标不正确......(或不在正确的投影中)
var projection = ol.proj.get('EPSG:25830');
map = new ol.Map({
layers: [
new ol.layer.Group({
interactions: ol.interaction.defaults({mouseWheelZoom: false}).extend([
new ol.interaction.MouseWheelZoom({
constrainResolution: true
})
]),
layers:[ basemap, mapbox]
}),new ol.layer.Group({
layers: [ orto, pks, medidas, video_milestones]}) ,],
loadTilesWhileAnimating: true,
loadTilesWhileInteracting: true,
controls: ol.control.defaults({
attributionOptions: ({
collapsible: false
})
}),
target: 'map',
view: new ol.View({
center: [ 686776,4223752 ],
zoom: 15,
projection: projection,
minZoom: 5,//minimo zoom que el usuario puede hacer
maxZoom: 23 //maximo zoom que el usuario puede hacer
})
});
popup = new ol.Overlay.Popup();
map.addOverlay(popup);
这是点击事件处理程序:
map.on('click', function(evt) {
var str = '<div><i class="fa fa-info-circle"></div>'
popup.show(evt.coordinate,str);
});
谢谢!
答案 0 :(得分:0)
我发现了这个问题。我在CSS文件中有一个体型的缩放集,它改变了坐标值