如何在没有用户交互的情况下在谷歌地图上检索和反对。这意味着用户不要单击该对象。 我有 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);
});
最佳答案
在数据层中,无法访问已绘制的形状(例如多边形),您只能访问特征。
问题:这些功能不能作为数组使用(这样就可以很容易地迭代这些功能或通过索引选择一个功能)
可能的解决方案:
- 将多边形特征添加到图层时将其存储在数组中(可以通过
addfeature
回调完成) - 计算多边形的边界:(参见:How to get LatLngBounds of feature polygon geometry in google maps v3?)
实现“下一个”功能:
- 使用
map.data.revertStyle()
重置先前选定要素的样式 - 选择数组中的第一个要素并应用所需的样式,并根据计算出的边界调用
map.fitBounds()
(步骤2) 将第一个特征放在数组末尾
arrayWithFeatures.push(arrayWithFeatures.shift());
- 使用
关于javascript - 将焦点设置到谷歌地图上的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24439294/