2015-02-12 92 views
2

是否可以利用GeoJSON數據源的內置properties屬性自動設置Mapbox GL地圖的樣式,而無需預先指定樣式?嵌入式GeoJSON樣式與Mapbox GL一起使用嗎?

我有一個用例,我動態地以GeoJSON加載LineString數據需要一個特定的顏色,它已經內置了風格數據:

{"properties": {"color": "#ffff33"...

現在,我有一個相當不雅設置,其中相應的顏色上各載剖析出的,翻譯成一種風格,並添加到地圖:

$scope.patternPropToStyle = function(props) { 
     var id = 'pattern' + props.pid; 
     var style = { 
     "id": id, 
     "type": "line", 
     "source": id, 
     "render": { 
      "$type": "LineString", 
      "line-join": "round", 
      "line-cap": "round" 
     }, 
     "paint": { 
      "line-color": props.color, 
      "line-width": 8 
     } 
     } 
     $scope._mapStyle.layers.push(style); 
     $scope._map.setStyle($scope._mapStyle); 
    } 

我覺得好像有必須是一個更好的方式來做到這一點。

回答

1

目前,在Mapbox GL中不支持 - simplestyle-spec。目前GeoJSON的支持仍然非常原始,因爲最初的重點是矢量圖。 simplestyle-spec支持當然在計劃中。

+0

謝謝!很高興知道。我試圖將大量使用GeoJSON的web應用程序轉換爲Mapbox GL,所以我會看到我能夠同時在一起進行破解。 :) – redct 2015-02-13 22:31:33

+0

請參閱https://github.com/mapbox/mapbox-gl-style-spec/issues/249 – 2016-05-02 17:00:17