Кликабельные маркеры на GTileLayerOverlay - PullRequest
0 голосов
/ 09 июня 2009

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

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

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

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

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

1 Ответ

1 голос
/ 09 июня 2009

Я нашел этот пример в демонстрационной галерее API Карт Google 1002 *:

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

Вот некоторые комментарии к его методу.

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

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

...