Google Maps Api V3: ограничение маркера кластера на определенных уровнях масштабирования - PullRequest
1 голос
/ 21 мая 2011

У меня есть MarkerClusterer, который я хочу отключить, если уровень масштабирования ниже порога.

Пример: уровень масштабирования 10, кластеры видны.Пороговое значение равно 5, поэтому, если пользователь уменьшает масштаб, все маркеры не должны отображаться.Я не хочу очищать маркеры, потому что они должны отображаться, если пользователь снова увеличивает масштаб.

1 Ответ

2 голосов
/ 21 мая 2011

Если вы не хотите очищать маркеры, вы можете вместо этого использовать setMap () для установки карты, которой назначен MarkerCluster, на другую карту, отличную от той, которую просматривает пользователь.

setMap () принимает null в качестве допустимого параметра.

Другой вариант - сделать какой-то ужасный взлом, например, создать вторую карту, которая невидима для пользователя, и назначить MarkerCluster этой карте. Он не выиграет соревнования по программированию, но сработает.

Затем, когда вы вернетесь к соответствующему уровню масштабирования, вы можете снова использовать setMap (), чтобы вернуть MarkerCluster на карту.

Вы можете использовать событие zoom_changed, чтобы определить, когда изменился масштаб на карте, и соответствующим образом вызвать setMap ().

Надеюсь, это все, что вам нужно, чтобы сделать это, но если нет, опубликуйте часть вашего кода, и, возможно, мы можем попытаться более конкретно определить, как именно изменить его для достижения этой цели.

...