问题是我在地图上只看到一种颜色(蓝色),但我想为我的堤防json文件指定特定的颜色。有人可以给我建议如何改变线串的颜色吗?
var geojson = L.geoJson(null,{
pointToLayer: function (feature, latlng) {
return L.circleMarker(latlng, geojsonMarkerOptions);
}
}).addTo(map);
var xhttp = new XMLHttpRequest();
xhttp.open('GET', encodeURI("NA.json"));
geojson data to the layer when request is succesfull
xhttp.onload = function() {
if (xhttp.readyState === 4) {
geojson.addData(JSON.parse(xhttp.responseText));
} else {
alert('Request failed. Returned status of ' + xhttp.status);
}
};
xhttp.send();
json文件
"type" : "FeatureCollection",
"crs" : {
"type" : "name",
"properties" : {
"name" : "EPSG:4326"
}
},
"features" : [
{
"type" : "Feature",
"id" : 122,
"geometry" : {
"type" : "LineString",
"coordinates" :
答案 0 :(得分:1)
使用L.GeoJSON
的{{3}}选项。让我引用style
:
一个
Function
定义了documentation来设置GeoJSON线和多边形的样式,在添加数据时在内部调用。默认值是不覆盖任何默认值:function (geoJsonFeature) { return {} }
您可以通过为L.Polyline
选项提供值来将颜色应用于路径(L.Circle
或L.Polygon
或color
)。因此,您应该提供一个style
回调函数,该函数返回一组选项,包括color
:
var geojson = L.geoJson(null,{
pointToLayer: function (feature, latlng) {
return L.circleMarker(latlng, geojsonMarkerOptions);
},
style: function(){
return { color: 'pink' }
}
}).addTo(map);
请注意,Path
options中还有其他示例。