Аннотации не отображаются в MKMapView

Я настроил MKMapView и построил аннотации на основе данных из Google Places. Вот код, который я использую: http://pastie.org/5187978.

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

Это действительно странно. Почему это происходит?


person James Anderson    schedule 05.11.2012    source источник
comment
при беглом взгляде код выглядит нормально. Вызывается ли ваш метод -(MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>)annotation?   -  person LombaX    schedule 05.11.2012
comment
Хм, не уверен, что это может быть проблемой, но вы вызываете [self plotPositions:places]; из асинхронной очереди --› не основной поток. Попробуйте вызвать его в основном потоке. Посмотрите на этот пост: stackoverflow.com/questions/2648538/   -  person LombaX    schedule 05.11.2012
comment
Если вы собираетесь использовать это в iOS 6, вы должны знать, что в соответствии с разделом 10.1.1.g условий обслуживания Google Maps API (developers.google.com/maps/terms), вы не можете отображать их данные на картах, не принадлежащих Google.   -  person Craig    schedule 05.11.2012
comment
@LombaX да, этот метод вызывается. Я также изменил [self plotPositions:places]; теперь вызывается из основного потока, но по-прежнему не показывает никаких аннотаций. Крейг, это отстой :(   -  person James Anderson    schedule 05.11.2012
comment
Можете ли вы опубликовать свой обновленный код? :-)   -  person LombaX    schedule 05.11.2012
comment
Конечно: pastie.org/5189365   -  person James Anderson    schedule 05.11.2012
comment
хм... это кажется действительно странным. И вызывается didAddAnnotationViews, верно? Попробуйте закомментировать всю асинхронную отправку и синхронно выполнить весь код в основном потоке, просто чтобы убедиться, что он не работает даже синхронно... на данный момент других идей нет :-(   -  person LombaX    schedule 05.11.2012


Ответы (1)


Возможно, это не ваша проблема, а просто для того, чтобы помочь другим людям — убедитесь, что координаты ваших аннотаций существуют на реальной карте, вставив их в какую-нибудь онлайн-карту (например, maps.bing.com). Например, если у вас есть координаты наоборот, аннотация будет добавлена, а затем молча удалена системой.

person Kendall Helmstetter Gelner    schedule 31.07.2013