【问题标题】:OpenLayers v3.5.0 map, loading features from a GeoJSON using bbox strategyOpenLayers v3.5.0 地图,使用 bbox 策略从 GeoJSON 加载特征
【发布时间】:2015-06-09 14:30:54
【问题描述】:

我正在尝试使用this question 中描述的方法,但我没有使用 jQuery 来执行 ajax 请求,而是使用 angularJS $http 方法。我已经验证过,并且正在将功能加载到图层的源中,但没有显示任何内容。

这里是源的定义:

var vectorSource = new ol.source.Vector({
  loader: function(extent, resolution){   
     $http.get(url).success(function(data){

     var formatGeo = new ol.format.GeoJSON();

     var features = formatGeo.readFeatures(data,
       {featureProjection: 'EPSG:4326'});

    vectorSource.addFeatures(features);
    console.log(vectorSource.getFeatures().length);
  })},
    strategy: ol.loadingstrategy.bbox
});

使用 angularJS 和 openlayers 有什么不兼容的问题吗?

【问题讨论】:

  • 你的 geojson 投影是什么?
  • geoJSON 的投影是 'EPSG:4326'。当我在我的地图视图中添加定义 projection: 'EPSG:3857' 时,它就解决了。
  • 如果问题解决了,请发布您的答案并完成此问题。

标签: angularjs openlayers-3


【解决方案1】:

问题是我的 GeoJSON (EPSG:4326) 和地图中的数据投影不匹配(OpenLayers3 默认,EPSG:3857)。

为了解决这个问题,我将用于构建 GeoJSON 的数据的投影更改为 EPSG:3857。由于数据存储在 postGis 数据库中,因此我使用函数 ST_Transform 来更改包含对象的 geom 列的投影。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-06-12
    • 1970-01-01
    • 2018-01-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多