谷歌地图仅加载显示区域中的标记

时间:2016-06-11 16:00:01

标签: javascript google-maps google-maps-api-3

我正在使用谷歌地图进行网站开发。我的数据库中有很多标记。我想加载当前地图中显示的区域中的标记。当缩放变化时,标记的数量也应相应调整。什么是最好的方法?提前谢谢!

2 个答案:

答案 0 :(得分:4)

使用绑定

<table>
{% ['current', 'power'].each do |a|  %}
    <tr>
    {% data.each do |d| %}
        <td>{{ a[d] }}</td>
    {% end %}
    </tr>
{% end %}
</table>

来自数据库的过滤器(服务器端)数据(在本例中为php)

    aNord   =   this.map.getBounds().getNorthEast().lat();  
    aEst    =   this.map.getBounds().getNorthEast().lng();
    aSud    =   this.map.getBounds().getSouthWest().lat();  
    aOvest  =   this.map.getBounds().getSouthWest().lng();  

答案 1 :(得分:3)

当用户更改缩放级别或平移地图时,您还可以使用bounds_changed函数添加或删除数据。

var map = new google.maps.Map(document.getElementById('map'), {
      zoom: 12,
      center: {lat:41.082774, lng: 28.86821},
      disableDefaultUI: true
    });

    google.maps.event.addListener(map, 'bounds_changed', function() {
    aNord   =   map.getBounds().getNorthEast().lat();  
    aEst    =   map.getBounds().getNorthEast().lng();
    aSud    =   map.getBounds().getSouthWest().lat();  
    aOvest  =   map.getBounds().getSouthWest().lng();  
    });