Использовать Auto Fit с тегами для Gmap3?
Я пытаюсь объединить 2 функции для Gmap3 ниже (хотя демонстрация Auto Fit в ссылке, кажется, не работает, когда я добавляю параметр в мою локальную демонстрацию, она работает нормально):
http://gmap3.net/examples/tags.html
http://gmap3.net/api/auto-fit.html
Поэтому я хочу иметь флажки для областей, которые делают маркеры видимыми и невидимыми, и я хочу, чтобы карта автоматически увеличивала и уменьшала масштаб после этого выбора, чтобы показать все выводы на странице.
Возможно ли это и как мне добиться этого? Спасибо
1 ответ
Кажется, что автофит не заботится о удаленных элементах.
Но вы можете реализовать это самостоятельно.
Для данного примера эта модификация сделает это:
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 и статус (проверено)
2.
Добавьте сразу после этого:
$.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()