Вопрос

У меня есть веб-приложение, которому необходимо отображать 30 000 маркеров на карте одновременно.Я не хочу использовать какой-либо вид кластеризации.Мне нужно, чтобы они все были отображены.

Мне также нужно, чтобы они были кликабельными.Пользователь может нажать на каждую точку, и появится всплывающее окно с информацией об этой точке.Даже при низком уровне масштабирования, когда в одном квадрате размером 256x256 расположены тысячи маркеров, пользователь должен иметь возможность нажимать на них.Пользователю может быть неудобно нажимать на точку, которая сгруппирована с сотнями других точек, но если где-то в глуши окажется один маркер, я хочу, чтобы пользователь мог щелкнуть по нему прямо там, вместо того, чтобы увеличивать масштаб.

Как мне это сделать?Я знаю, что это возможно, потому что я смотрел видео в Google video, где этот парень создает приложение GTileLayerOverlay с кликабельными маркерами.Однако он не объяснил, как это было сделано.

Является ли мой единственный вариант просто удалить GTileLayerOverlay при высоких уровнях масштабирования и заменить его настоящим слоем GMarker?Я действительно не хочу этого делать.Мне это кажется чересчур инженерным.

Если бы вы были на моем месте, как бы вы поступили по этому поводу?

Это было полезно?

Решение

Я обнаружил, что этот пример находится в Демонстрационная галерея API Google Maps:

Кликабельный Слой Плитки В этом примере создается пользовательский тип карты (GMapType), который показывает региональные границы и квадраты для окружных центров.При нажатии на квадраты открывается информационное окно с информацией об этом округе.Кликабельность достигается путем передачи информации о границах кликабельных пикселей в файлах cookie, прикрепленных к плиткам, и выполнения проверки на стороне клиента при наведении курсора мыши на предмет того, находится ли положение мыши в пределах границ пикселя.

Вот несколько комментариев о его методе.

У меня нет никакого опыта работы с GTileLayOverlays, но я считаю, что можно выполнить то, что вы пытаетесь сделать, без использования GMarkers.

Можно ли было бы использовать кластеризацию, если бы каждый кластер мог выводить список маркеров, которые он представляет?Похоже , что одновременное отображение 30 000 маркеров было бы визуально запутанным и трудным для навигации .

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top