Сочетание MKOverlays
Мне нужно нарисовать много (от сотен до тысяч) квадратных наложений на карте. Положение и размеры этих наложений остаются неизменными. Я думаю, что я могу ускорить рендеринг, комбинируя эти квадратные наложения в одно наложение, поэтому drawMapRect нужно вызывать только один раз. Это возможно?
2 ответа
В моем случае удаление оверлеев не вариант. Я нашел способ кардинально улучшить производительность, чтобы класс оверлеев хранил массив квадратных оверлеев. Затем в методе drawMapRect моего overlayView я зациклился на массиве, чтобы нарисовать все наложения. Нечто очень похожее сделано в Примере разработчика HazardMap Apple. Смотрите drawMapRect в HazardMapView.m
У меня была похожая проблема для MKAnnotation. И я нашел следующую ссылку:
http://www.fiveminutes.eu/having-fun-with-ios-map-kit-grouping-annotations/
Пересмотрите список аннотаций и вычислите расстояние до двух координат аннотации. Если рядом есть аннотация, удалите ее из списка.
Я думаю, что этот подход может быть применим и к MKOverlays.