#objective-c #google-maps
#objective-c #google-карты
Вопрос:
Заранее прошу прощения за мой английский.
У меня в приложении более 5000 координат.
Эти координаты указывают на объекты по всей земле.
Дело в том, что я добавляю все сразу в координаты карты (маркер), и карта сильно лагает из-за этого! 5-6 кадров в секунду при прокрутке карты.
Как мне добавить маркеры для текущего местоположения (камеры), и если я прокручиваю карту, эти маркеры удалить, и добавить новые для нового местоположения (камеры).
Я знаю, что есть функция idleAtCameraPosition, но как получить список координат массива (MutableArray), который включен в камеру? Как отследить это? Я этого не понимаю. Может кто-то уже сделал один из вас в вашем проекте?
Надеюсь, вы понимаете, что я хочу до вас донести.
Комментарии:
1. Или можно как-то получить координаты, которые расположены в верхнем левом углу камеры и нижнем правом углу камеры? Затем вы можете отфильтровать массив координат.
Ответ №1:
Возможно, вы захотите проверить кластеризацию маркеров:
Кластеризовав свои маркеры, вы можете разместить большое количество маркеров на карте, не делая карту трудночитаемой. Утилита кластеризации маркеров помогает управлять несколькими маркерами на разных уровнях масштабирования.
Когда пользователь просматривает карту с высоким уровнем масштабирования, на карте отображаются отдельные маркеры. Когда пользователь уменьшает масштаб, маркеры собираются в кластеры, чтобы упростить просмотр карты.
Чтобы получить некоторое представление о загрузке слишком большого количества маркеров, попробуйте прочитать статью о слишком большом количестве маркеров!
Некоторым приложениям требуется отображать большое количество местоположений или маркеров. Наивное нанесение тысяч маркеров на карту может быстро привести к ухудшению пользовательского интерфейса. Слишком много маркеров на карте вызывают как визуальную перегрузку, так и вялое взаимодействие с картой. Чтобы преодолеть эту низкую производительность, информация, отображаемая на карте, должна быть упрощена.
Надеюсь, это поможет!