改变 Leaflet Realtime geoJson 功能的风格
Changing style of Leaflet Realtime geoJson features
我有一张传单地图,使用传单实时显示和更新来自 geoJson 源的位置、多边形和线(数据是机载摄像机的位置和视野)。我想从默认的蓝色更改线条和多边形的样式。我知道 leaflet-realtime extends L.geojson 所以我认为下面的代码应该可以工作但是我得到 options.style is not a function。我一直在寻找其他示例来尝试执行此操作,但这一天都很沮丧。
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]]
)
});
如果有人能指出我正确的方向,将不胜感激。
谢谢
是 options.style 必须是函数 - 看:
https://leafletjs.com/reference-1.7.1.html#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: 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]]
)
});
我有一张传单地图,使用传单实时显示和更新来自 geoJson 源的位置、多边形和线(数据是机载摄像机的位置和视野)。我想从默认的蓝色更改线条和多边形的样式。我知道 leaflet-realtime extends L.geojson 所以我认为下面的代码应该可以工作但是我得到 options.style is not a function。我一直在寻找其他示例来尝试执行此操作,但这一天都很沮丧。
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]]
)
});
如果有人能指出我正确的方向,将不胜感激。
谢谢
是 options.style 必须是函数 - 看: https://leafletjs.com/reference-1.7.1.html#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: 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]]
)
});