2013-01-04 53 views
0

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

回答

1

我有一个GitHub project,它加载包含地标的KML文件,将它们放在边栏中,并在更改地图时使用Google地图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对象。

+0

这就是我正在寻找的。谢谢。 – hubert