0

我有一个谷歌地图(API v3),其中填充了指示数据库数据的标记。我想添加一个侧边栏来检查地图上当前可见的标记并将它们添加到侧边栏,每当移动地图时进行调整。这样的事情可能吗?

4

1 回答 1

1

我有一个GitHub 项目,它加载一个包含地标的 KML 文件,将它们放在边栏中,并在更改地图时使用 Google Maps API 使位置变暗/变亮。相关部分是这个片段:

google.maps.event.addListener(mapInstance, 'bounds_changed', function() {
    currentBounds = mapInstance.getBounds();
    for (i = 0; i < parser.docs[0].placemarks.length; i++) {
        var myLi = $("#p" + i);
        if (currentBounds.contains(parser.docs[0].placemarks[i].marker.getPosition())) {
            myLi.css("color","#000000");
        } else {
            myLi.css("color","#CCCCCC");
        }
    }
});

它的缩写版本是:

google.maps.event.addListener(mapInstance, 'bounds_changed', function() {
    currentBounds = mapInstance.getBounds();
    /*
     Loop over Google map placemarks and check the placemark by doing:
     if (currentBounds.contains(currentPlacemark.getPosition())) {
       // Change CSS to make sidebar entry visible
     } else {
       // Change CSS to make sidebar entry invisible
     }
     */
});

在我的示例中,mapInstance 是 google.maps.Map 的实例,currentPlacemark 是您的 google.maps.Marker 对象之一的实例。

于 2013-01-04T22:01:47.030 回答