2014-11-25 74 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