Рендеринг карты iPhone

Я занимаюсь созданием картографического приложения для iPhone и хотел спросить, как лучше всего перенести карты с веб-сайта на iPhone.

Я хочу получить небольшие изображения размером 80x80 и показать их. Этот вид деятельности может быть достигнут с помощью UIKit или OpenGL ES.

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

РЕДАКТИРОВАТЬ:

Мне нужно получить пользовательские карты для другого поставщика.

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


person y ramesh rao    schedule 23.04.2009    source источник


Ответы (7)


Для небольших статических карт можно использовать API статических карт Google.

Вы можете создать URL-адрес, чтобы получить изображение следующим образом:

NSString* urlString = [NSString stringWithFormat:@"http://maps.google.com/staticmap?center=%f,%f&zoom=%d&size=%1.0fx%1.0f&key=%s&sensor=true",
                                 aLocation.coordinate.latitude, aLocation.coordinate.longitude, // aLocation is set to the center of the map
                                   kCardBackGoogleMapsZoomLevelDefault, 
                                   80, 80, // your map size
                                   kAIGoogleMapAPIKey]; // your google maps API key

Все остальные поставщики карт поддерживают статические тайлы — Microsoft, Yahoo и CloudMade.

person Rog    schedule 23.04.2009

Взгляните на эту тему: http://discussions.apple.com/message.jspa?messageID=8157498. Это почти то же самое, что вы просите.

person Sophie Alpert    schedule 23.04.2009

Что касается отображения карты прокрутки, CATiledLayer будет подходящим вариантом. Это немного сложный класс, но вы можете найти несколько примеров, если погуглите.

person U62    schedule 12.06.2009

Сможете ли вы использовать MapKit API iPhone SDK 3 или вам нужно использовать пользовательские карты?

person Alex Reynolds    schedule 23.04.2009

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

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

person Kendall Helmstetter Gelner    schedule 23.04.2009

Если вы хотите просто встроить одну карту без прокрутки, взгляните на Google Static Maps API, который будет генерировать для вас изображения карты на лету, в зависимости от параметров вашего запроса.

Если вы хотите реализовать скользкую карту, попробуйте либо route-me, работает с OS 2.2.1 и поддерживает пользовательские тайловые серверы. Или взгляните на MapKit/Google Maps в OS 3.0.

person tomtaylor    schedule 27.04.2009

Вы также можете использовать проект Route-Me

http://code.google.com/p/route-me/

Лицензия BSD - идеально, если вам нужно визуализировать свои собственные тайлы

person FeralBob    schedule 25.06.2009