Я хотел бы попросить вас помочь с моим кодом. У меня есть скрипт, где я загружаю и обрабатываю файл JSON через $. Ajax . С фильтрацией я также использовал функцию moveToLocation()
. который работает хорошо, но не работает с markerclsuter , потому что мои точки после увеличения все еще "кластеризованы".
function moveToLocation(lat, lng, zoom){
var center = new google.maps.LatLng(lat, lng);
map.panTo(center);
map.setZoom(zoom);
}
function addMarkers(v_data) {
if(v_data!= null){
removeMarkers();
}
$.ajax({
type: 'POST',
url: 'get-places-v3.php',
data: {data : JSON.stringify(v_data)},
dataType: 'json',
success: function (data) {
//initialize(data.regionGps[0].lat, data.regionGps[0].lng, data.regionGps[0].zoom);
console.log(data.regionGps[0].lat + ' ' + data.regionGps[0].lng);
moveToLocation( data.regionGps[0].lat, data.regionGps[0].lng, data.regionGps[0].zoom );
//console.log(data.regionGps[0].lat);
$.each(data.locations, function(index, element) {
var latLng = new google.maps.LatLng(element.lat, element.lng);
var marker = new google.maps.Marker({
position: latLng,
map: map,
// icon: icon,
title: element.name
});
markers.push(marker);
var details = '<strong>' + element.name + '</strong><br>' + element.adress;
bindInfoWindow(marker, map, infowindow, details);
});
markerCluster = new MarkerClusterer(map, markers, {
imagePath: 'https://developers.google.com/maps/documentation/javascript/examples/markerclusterer/m'
});
}
});
}
Итак, я хотел бы помочь с 2 проблемами:
1) Как я описал выше, мне нужно «отменить» кластер после использования фильтра (но если я выберу регион 0, мне нужно «повторно активировать» кластер)
2) Я не знаю почему, но функция «movetolocation» работает только в первый раз, после повторного использования не работает.
Вот рабочий пример:
https://ugh.beladzi.cz/show-data-places-v3.php (я не знаю, как я могу импортировать json в codepen или jsfiddle).
Большое спасибо за вашу помощь