Карты GoogleMap запаздывают при большом количестве маркеров

#objective-c #google-maps

#objective-c #google-карты

Вопрос:

Заранее прошу прощения за мой английский.

У меня в приложении более 5000 координат.

Эти координаты указывают на объекты по всей земле.

Дело в том, что я добавляю все сразу в координаты карты (маркер), и карта сильно лагает из-за этого! 5-6 кадров в секунду при прокрутке карты.

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

Я знаю, что есть функция idleAtCameraPosition, но как получить список координат массива (MutableArray), который включен в камеру? Как отследить это? Я этого не понимаю. Может кто-то уже сделал один из вас в вашем проекте?

Надеюсь, вы понимаете, что я хочу до вас донести.

Комментарии:

1. Или можно как-то получить координаты, которые расположены в верхнем левом углу камеры и нижнем правом углу камеры? Затем вы можете отфильтровать массив координат.

Ответ №1:

Возможно, вы захотите проверить кластеризацию маркеров:

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

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

Чтобы получить некоторое представление о загрузке слишком большого количества маркеров, попробуйте прочитать статью о слишком большом количестве маркеров!

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

Надеюсь, это поможет!