我有一个地图,它有基于我的数据库中的值编程放置在它上面的标记。当你点击一个标记时,它将转到该位置的详细页面。Google Maps API:如何判断某个标记是否被另一个标记隐藏?
我的问题是,当地图充分缩小时,彼此足够接近的标记显示为单个标记,实际上隐藏了一些标记。 有没有办法通过编程来判断一个标记是否是一组标记的一部分,或者被其他标记隐藏/遮盖?
我的目的是为每个动态生成的标记做这样的事情:
marker.addListener('click', function() {
// if marker is not hiding any other markers
window.location.href = markerURL;
// else if it is hiding markers/is part of a group of markers
map.setZoom(15);
map.setCenter(marker.getPosition());
});
我已经检查了Marker API documentation,但似乎无法找到任何有用的方法。 getClickable
和getVisible
在我的情况下总是返回true
,无论标记是否被另一个标记覆盖。有什么建议么?谢谢!
您可能需要使用[MarkerClusterer](https://github.com/googlemaps/js-marker-clusterer),以便在多个标记群集时显而易见。 – geocodezip
@geocodezip感谢您的建议。我考虑过这个,但希望有一个更简单的方法。我不需要对聚类有任何控制,我只想知道它是否发生了。如果我找不到更好的解决方案,我可能会最终使用该库。 – elethan
没有什么内置API来做这样的事情,我怀疑你提出的任何算法都不会像标记群集器 – geocodezip