2015-11-30 60 views
1

更新:基本問題是,如果我的GeoJSON由REST接口(Json數據在問題結束時可見)提供的GeoJSON是矢量圖層的有效GeoJSON,因爲儘快因爲我將此添加爲矢量圖層的源,所以圖層已損壞。Openlayers 3 - 將幾何數據加載到矢量層

目前還沒有REST接口上傳的形狀,所以我只是把從當前的形狀一些有效座標和服務器端創建一個靜態 JSON

我儘量讓有可能,用戶可以畫矢量圖層上的形狀(多邊形,線條),並且我將幾何數據存儲在服務器上,下次地圖加載時應再次顯示。但是,當我將REST接口定義爲矢量圖層的源代碼時,似乎有點不知所措,因爲繪畫和將對象添加到矢量圖層不再有效。

這裏的代碼我放在一起從OpenLayers的例子。首先圖像應該如何看起來像:

Shapes how they should be displayed 我提取與drawend事件在地圖上的座標,並建立了一個REST接口,在那裏我可以加載幾何數據,這是我得到的矢量圖層源的響應:

{ 
    "type":"FeatureCollection", 
    "crs":{ 
     "type":"name", 
     "properties":{ 
     "name":"EPSG:2000" 
     } 
    }, 
    "features":[ 
     { 
     "type":"Feature", 
     "id":"1", 
     "properties":{ 
      "name":"TEST1" 
     }, 
     "geometry":{ 
      "type":"LineString", 
      "coordinates":[ 
       [ 
        -5920506.46285661, 
        1533632.5355137766 
       ], 
       [ 
        -1882185.384494179, 
        234814.55089206155 
       ] 
      ] 
     } 
     } 
    ] 
} 

但是,如果我加載這個,什麼都不會被顯示,其不可能在圖層上繪製了(如果我從矢量圖層源中刪除了「源」屬性再次作品)

這裏pastebin上的完整代碼:Example Code

+0

請簡化您的問題到一個單一的問題。把一個jsFiddle什麼是不工作的。 –

+0

很抱歉,對於遲到的答案。基本上我要問的是,如果我的pastebin行52-56中的向量圖層的定義源提供了一個語法正確的json,用於初始化矢量圖層並繪製一條線。 如果我只將源從指定的json源代碼更改爲默認的矢量源,或者即使只是我的js鏈接無效,它也可以工作。 我想添加一個JS小提琴,但所有重要的部分都是由http源提供的,這將是一個沒有意義的例子,導致jsfiddle將混合內容截斷。我希望你能幫助我,但我試圖澄清這個問題 – Rayden78

+0

哪個投影是這個座標'[-5920506.46285661,1533632.5355137766]'?是不是'EPSG:3857'?你爲什麼使用'EPSG:2000'? –

回答

-1

我解決了這個問題,同時我試圖將GeoJSON加載到我的矢量圖層中,但矢量圖層始終被破壞。由於我對打開圖層很陌生,我沒有注意到我的錯誤,但是我的GeoJSON中有語法錯誤,並且我提供的座標也是錯誤的。

在更正語法和座標後,所有工作都按預期工作,如上所述EPSG:3857也是正確的使用方法。對不起,我的第一個凌亂的體驗與開放圖層,但感謝您的友好幫助;)

相關問題