我有一个GEOJson,如
console
使用Leaflet Playback,我可以让标记移动,但我希望每个标记都有自己的弹出窗口,显示时间和温度在移动时。我试过做类似的事情:
{
"type": "Feature",
"geometry": {
"type": "MultiPoint",
"coordinates": [
[
-123.77252789,
44.37857221
],
[
-123.77317087,
44.37864694
],
[
-123.77383407,
44.37875853
],
[
-123.7744676,
44.37886305
]
]
},
"properties": {
"time": [
1369786338000,
1369786340000,
1369786342000,
1369786344000
],
"Temp":[70F,60F,72F,80F],
"Title": "Car1"
}
}
但它不断给我每个标记的所有时间和临时数组,而不是每个标记的不同时间和温度。 我想知道如何让每个弹出窗口显示其信息。
答案 0 :(得分:0)
简短的回答:您不能。
该库的问题在于每个功能是MultiPoint功能。 在options对象中的功能之一中,对featureData / feature /任何内容的每个引用都是完全相同的全多点功能,而不是数组中当前索引处的特定“功能” ... https://github.com/hallahan/LeafletPlayback#options
另一个问题是弹出窗口中的坐标是硬编码的。
if (this._popup) {
this._popup.setContent(
this.getPopupContent() + this._latlng.toString()
);
}
我也有一位对此也感到困惑的朋友,我向他建议他最好使用 FeatureCollection GeoJSON数据编写自己的实现,但是他经验不足,正在寻找可以使用OOTB的东西
更新: 我对代码进行了一些摆弄,公开了当前索引,因此您可以从源GeoJSON中获取任何内容。在该示例中,我将弹出内容设置为包含当前索引处的高度,并同时更改其颜色。
这里是GIST: https://gist.github.com/danikane/f8490e62529f3cf64eb672d2e737b982
我同意,我的修改写得很差,但是尽管如此,您会明白我的意思的:)