我目前正在使用Google Maps MarkerClusterer v3(http://google-maps-utility-library-v3.googlecode.com/svn/trunk/markerclusterer/docs/reference.html),到目前为止,该功能给我留下了深刻的印象。

但是,我现在希望在地图中添加一个附加功能。当用户将鼠标悬停在标记列表上时,标记图像将更改。当标记没有聚类时,这很好用,但是由于我也在使用聚类器,因此我需要能够返回特定标记所属的聚类。

有人知道这是否可能吗?我检查了API文档,但是找不到返回簇数组的方法。

本质上,这是我需要做的伪代码:

function changeClusterIcon(the_marker)
{
    var clusters = _CLUSTERER.getClusters();
    var clusters_length = clusters.length;
    var marker_pos = the_marker.getPosition().toString();

    for(var i = 0; i < clusters_length; i++)
    {
        var this_cluster = clusters[i];
        var the_markers = this_cluster.markers.length;

        for(var j = 0; j < the_markers; j++)
        {
            var this_marker = this_cluster.markers[i];
            if(this_marker.getPosition().toString() == marker_pos)
            {
                return this_cluster;
            }
        }
    }

    return false;
}

最佳答案

MarkerClusterer库没有提供检索群集的方法。但是有一个增强的库MarkerClustererPlus版本,它提供了更多功能。使用MarkerClustererPlus ,您可以使用MarkerClusterer.getClusters()函数来检索Array类实例的Cluster。然后,您可以使用Cluster.getMarkers()函数检索该Array中标记的Cluster。因此,您应该拥有前进的需要。

关于javascript - Google Maps MarkerClusterer v3返回标记簇,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10515686/

10-12 02:02