Bezdepbonusu7Программирование: статьи и ответы

Вопрос

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

Автор вопроса: y ramesh raoОтветов: 7

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

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

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

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

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

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

iphonecocoa-touchopengl-es

Ответы

Ответ 1 · рейтинг 2 · Rog

Для небольших статических карт можно использовать 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.

Ответ 2 · рейтинг 1 · Sophie Alpert

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

Ответ 3 · рейтинг 1 · U62

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

Ответ 4 · Alex Reynolds

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

Ответ 5 · Kendall Helmstetter Gelner

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

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

Ответ 6 · tomtaylor

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

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

Ответ 7 · FeralBob

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

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

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

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы