我试图将下面的Gmap3的2个功能结合起来(尽管链接中的Auto Fit演示似乎不起作用,当我将参数添加到我的本地演示时,它工作正常):
http://gmap3.net/examples/tags.html
http://gmap3.net/api/auto-fit.html
所以我希望为标记可见和不可见的区域设置复选框,我希望地图在此选择后自动放大和缩小以显示页面上的所有图钉。
这是可能的,我该如何实现这一目标?谢谢
答案 0 :(得分:1)
似乎自动调整不会处理已删除的项目。
但你可以自己实现这个。
对于给定的示例,此修改将执行此操作:
替换此行:
tmp[ ville.region ] = true;
由:
if( tmp[ ville.region ])
{
tmp[ ville.region ].bounds.extend(new google.maps.LatLng(ville.lat,ville.lng))
}
else
{
tmp[ ville.region ]=
{
bounds:new google.maps.LatLngBounds(new google.maps.LatLng(ville.lat,ville.lng)),
checked:true
}
}
它将为每个区域存储LatLngBounds和状态(已选中)
在此之后添加:
$.each(markers, function(i, marker){
marker.setMap( checked ? map : null);
});
这些界限:
tmp[region].checked=checked;
var bounds=new google.maps.LatLngBounds();
$.each(tmp,function(i,o)
{
if(o.checked)
{
bounds.union(o.bounds);
}
}
);
map.fitBounds(bounds);
它将设置当前区域的检查状态,然后为所有可见区域计算LatLngBounds。结果将用作map.fitBounds()
的参数