2014-11-25 80 views
1

我遇到了一个问题,即我的GeoJSON按照纬度/经度顺序返回坐标,但OpenLayers希望它们的顺序相反:经度/纬度。 而我不能让他们从服务器的另一种方式。 是否有可能使用OL3扭转坐标,就像我找到了一些关于老OL这样OpenLayers 3定义轴顺序

formatOptions: { xy: false } 

请问像这样提供OL3?

回答

1

简短的回答是否定的。 OL3只接受XY。如果您有可能在GeoJSON源中将其撤消,请执行此操作。

在ol3文档中,您应该有可能通过在您的几何图形中的每个几何图形上使用“applyTransform”方法进行自定义转换,但是这种方法显然已被删除。

下面是如何反转坐标的建议。

$.ajax({ 
     url: "http://www.myjsonsource.com", 
     timeout: 1000, 
     success: function(response) { 
      var layerJSONString = $.parseJSON(response); 
      var size=layerJSONString.features.length; 
      for (i = 0; i < size; i++){ 
       layerJSONString.features[i].geometry.coordinates.reverse(); 
      }; 
      vectorSource.addFeatures(vectorSource.readFeatures(response)); 

     }, 
     error: loadError   
}); 
+0

对我来说并没有换坐标vectorSource,所以我扭转他们的反应和只添加功能到vectorSource – Anuket 2014-11-25 15:26:19

+0

@Anuket后,如果您有编辑权限,你可以改变上面的代码的代码这对你有用并接受答案。对于那些会遇到同样情况的人来说,这样做会更有用。 – 2014-11-26 08:47:54