gpt4 book ai didi

javascript - 将焦点设置到谷歌地图上的对象

转载 作者:行者123 更新时间:2023-12-03 12:21:16 26 4
gpt4 key购买 nike

如何在没有用户交互的情况下在谷歌地图上检索和反对。这意味着用户不要单击该对象。我有 10 个多边形,我希望用户导航到每个多边形,也许可以操纵颜色。无需单击多边形本身。

我确实有一个“下一个”按钮,当用户单击时,它应该导航到下一个多边形,将其设置为事件状态并填充所需的颜色。

多边形以json格式存储在数组中。

我正在使用数据层。我不知道如何实现这一点。我可以单击多边形本身并更改颜色,但我需要在不单击的情况下遍历它们。

谢谢

  • 制作 map :

    function loadJson(url, style)
    {
    var jsonfile = $.getJSON(url).done(function (data){
    map.data.addGeoJson(data);
    map.data.setStyle(style);
    });
    }
  • 改变颜色

    map.data.addListener('click', function(event) {
    mapName.data.overrideStyle(event.feature, currentStyle);

    });

WORKING PROTOTYPE

最佳答案

在数据层中,无法访问已绘制的形状(例如多边形),您只能访问特征。

问题:这些功能不能作为数组使用(这样就可以很容易地迭代这些功能或通过索引选择一个功能)

可能的解决方案:

  1. 将多边形特征添加到图层时将其存储在数组中(可以通过 addfeature 回调完成)
  2. 计算多边形的边界:(参见:How to get LatLngBounds of feature polygon geometry in google maps v3?)
  3. 实现“下一个”功能:

    • 使用map.data.revertStyle()重置先前选定要素的样式
    • 选择数组中的第一个要素并应用所需的样式,并根据计算出的边界调用 map.fitBounds()(步骤2)
    • 将第一个特征放在数组末尾

      arrayWithFeatures.push(arrayWithFeatures.shift());

演示:http://jsfiddle.net/doktormolle/anmfe/

关于javascript - 将焦点设置到谷歌地图上的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24439294/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com