2010-01-26 4 views
1

Я хочу нарисовать оверлей на основе плитки поверх MKMapView, но нет очевидного способа сделать это.Наложение на основе плитки MKMapView

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

Кто-нибудь пытался это сделать?

ответ

0

Я работаю над игрой, где мне нужно накладывать объекты на карту и прокручивать их с помощью карты.

Использование аннотаций Я смог решить первую проблему и частично решить вторую проблему. Аннотации автоматически перемещаются с помощью карты. Для их масштабирования я использую метод делегата mapView:regionDidChangeAnimated: для изменения размеров аннотаций после события масштабирования. Проблема заключается в том, что аннотации не масштабируются до тех пор, пока жест увеличения не будет завершен.

я могу думать о двух других, чем подава ошибке с Apple, с просьбой, чтобы они предоставляют API для карт накладок подходов:

  1. Поставьте (в основном невидимый) вид на верхнюю часть MKMapView, который перехватывает зум и прокручивать события, обрабатывать их и передавать их на вид карты.

  2. Настроить open-source RouteMe library с плитками с карты Open Street или CloudMade (первый медленный, последний стоит денег). Но это полностью открытый исходный код, поэтому вы можете делать оверлеи для контента вашего сердца. Вы также можете запустить свой собственный сервер плитки, который накладывает черепицу на сервер.

+0

Я ценю ответ! К сожалению, пока это творческие хаки, они не являются реальными решениями. Спасибо за вашу помощь, хотя ... –

+0

Если вы имеете дело с ограниченным количеством географии, route-me поддерживает местный магазин плитки. Вы можете использовать MapNik для создания плиток с данными OpenStreetMap (плюс ваши собственные фигуры) и отправлять их с помощью своего приложения. Это будет «реальное решение», но, возможно, больше работы, чем это оправдано вашим проектом. –

2

Для этого вопроса по-прежнему возникают мнения читатели должны проверить демо-код HazardMap и TileMap от WWDC2010.

Смежные вопросы