0

我有一个在网站上工作的谷歌地图,该地图包括以下内容:

3 种不同类型的地图别针 当太靠近时,别针也会聚集在一起。

我现在如何遇到问题:我的任务是现在提供切换问题所在的每个标记组的可见性的能力。如果标记没有聚集并且以下代码可以正常工作,这将是直截了当的:

    onOff = (onOff == 1) ? sawdays.accordion.map : null;


    var mapArray;
    switch( type ){
        case 'bandb': mapArray = sawdays.accordion.bandbMarkers;
        break;

        case 'hotel': mapArray = sawdays.accordion.hotelMarkers;
        break;

        case 'inn': mapArray = sawdays.accordion.innMarkers;
        break;

        case 'pub': mapArray = sawdays.accordion.pubMarkers;
        break;
    }

    if ( mapArray.length > 0 ) {
        for (i in mapArray)
            mapArray[i].setMap(onOff);
        }
    }

然而问题是,集群内的引脚没有切换,如果我关闭酒店引脚,单击一个集群,酒店地图引脚仍然存在......

我在集群上找到了以下参考:http: //google-maps-utility-library-v3.googlecode.com/svn/trunk/markerclusterer/docs/reference.html但看不到实现我所追求的方法。

我想我在这里碰壁了,保持集群功能但添加切换功能的最佳方法是重新绘制地图(这是网站http://www.sawdays.co.uk /special-places/content/search/?map#maptypeid=roadmap&zoom=9&lng=-3.36493113281245&lat=54.874929190748624)。地图的数据在页面加载时被 ajaxed,因此所有数据都已经存在于客户端机器上以重新配置地图......

问题: 是否可以在集群内外切换地图图钉的可见性?

4

1 回答 1

0

MarkerClusterer 控制它聚集的标记的可见性(因此您不能独立控制它们)

我的建议:

  1. 为每个类别保留不同的数组
  2. 当您“隐藏”一个类别时,要么从 MarkerClusterer 中删除这些标记,要么清除 MarkerClusterer,然后添加可见的类别数组。
  3. 要“显示”类别,请将这些标记添加回 MarkerClusterer 或清除 MarkerClusterer,然后添加可见的类别数组。
  4. 隐藏/显示未聚集的标记(实际上,如果您正确执行 1、2 和 3,这可能不是必需的)
于 2012-10-06T13:09:45.913 回答