使用Openlayers 3

时间:2018-04-25 15:55:40

标签: javascript openlayers-3

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

谢谢!

1 个答案:

答案 0 :(得分:0)

我发现了这个问题。我在CSS文件中有一个体型的缩放集,它改变了坐标值