我有一张传单地图,使用传单实时显示和更新geoJson源的位置、多边形和直线(数据是机载相机的位置和视野(。我想将线条和多边形的样式从默认的蓝色更改为蓝色。我知道传单实时扩展了L.geojson,所以我认为下面的代码应该可以工作,但我得到了选项。style不是一个函数。我一直在寻找其他例子来尝试做到这一点,但一整天都很沮丧。
var lineStyle = {
color: 'black',
weight: 5,
opacity: 0.5
}
los = L.realtime({
url: 'http://127.0.0.1/geojson/los2.geojson',
crossOrigin: true,
type: 'json'
}, {
interval: 1 * 500,
style: lineStyle
}).addTo(map);
los.on('update', function(){
map.flyTo(
[this._features.los.geometry.coordinates[1][1],
this._features.los.geometry.coordinates[1][0]]
)
});
如果有人能为我指明正确的方向,我将不胜感激。
感谢
Yes options.style必须是一个函数-查看:https://leafletjs.com/reference-1.7.1.html#geojson-样式
更改您的代码:
var lineStyle = {
color: 'black',
weight: 5,
opacity: 0.5
}
los = L.realtime({
url: 'http://127.0.0.1/geojson/los2.geojson',
crossOrigin: true,
type: 'json'
}, {
interval: 1 * 500,
style: function() { return lineStyle; }
}).addTo(map);
los.on('update', function(){
map.flyTo(
[this._features.los.geometry.coordinates[1][1],
this._features.los.geometry.coordinates[1][0]]
)
});