首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >多叶TimeStampedGeoJson timeDimensionControl合并为一体

多叶TimeStampedGeoJson timeDimensionControl合并为一体
EN

Stack Overflow用户
提问于 2022-08-17 09:29:17
回答 1查看 107关注 0票数 0

我使用Folium在地图上绘制多颗卫星的地面轨迹(最多5颗卫星)。Folium的TimeStampedGeoJson插件附带一个timeDimension条,允许您分别控制地图上的每个标记(见下面屏幕截图的左下角)。

我想把所有这些timeDimensionControl合并成一个,因为所有卫星的轨迹都是在同一时间跨度上传播的,而多个timeDimensionControl条覆盖了太多的地图。

我对javascript很陌生,也不了解如何解决这个问题。下面是生成这些timeDimensionControl条的代码:

代码语言:javascript
运行
复制
L.Control.TimeDimensionCustom = L.Control.TimeDimension.extend({
            _getDisplayDateFormat: function(date){
                var newdate = new moment(date);
                console.log(newdate)
                return newdate.format("YYYY-MM-DD HH:mm:ss");
            }
        });
        map_a5d837d7e39ab8f4f2d689152da44b7e.timeDimension = L.timeDimension(
            {
                period: "PT1M",
            }
        );
        var timeDimensionControl = new L.Control.TimeDimensionCustom(
            {"autoPlay": true, "loopButton": false, "maxSpeed": 1.1, "minSpeed": 1, "playerOptions": {"loop": true, "startOver": true, "transitionTime": 1000}, "position": "bottomleft", "timeSliderDragUpdate": false}
        );
        map_a5d837d7e39ab8f4f2d689152da44b7e.addControl(this.timeDimensionControl);
        var geoJsonLayer = L.geoJson({"type": "FeatureCollection", "features": [{"type": "Feature", "geometry": {"type": "Point", "coordinates": [174.61069467391732, 0.9658165798710256]}, "properties": {"times": ["2022-08-15T00:01:09"],...})
        var timestamped_geo_json_25779c6b0b60ac5707b59da8f42211c7 = L.timeDimension.layer.geoJson(
            geoJsonLayer,
            {
                updateTimeDimension: true,
                addlastPoint: false,
                duration: "PT1M",
            }
        ).addTo(map_a5d837d7e39ab8f4f2d689152da44b7e);

对于每个卫星,这些代码都被复制到Folium生成的map.html文件中。我想只有一个timeDimensionControl条来控制地图上的所有卫星。

对于如何做到这一点,有什么建议吗?

提前谢谢你的回答。

编辑:这是我发现的一个链接,它提示了如何解决这个问题。

EN

回答 1

Stack Overflow用户

发布于 2022-08-25 12:03:02

答案在一定程度上取决于问题中提到的链接

  1. 所有的geojson数据集都必须有一个共同的时间范围。
  2. 您需要创建一个timeDimension 和一个 timeDimensionControl only,并将其添加到地图中。
  3. 在地图上添加尽可能多的timeDimension.Layer,您可以用一个timeDimensionControl控制所有的标记。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73386025

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档