intro to apps with maps for series 40 russian
Post on 16-Jun-2015
611 Views
Preview:
DESCRIPTION
TRANSCRIPT
Разработка приложений с помощью Nokia карт и Location API для телефонов Series 40
Nokia Series 40
1 “© Nokia 2012 Intro to Maps on Apps Russian.pptx
Владимир Безкоровайный Senior Software Engineer Maps Platform
1. Введение в Nokia Maps API для Java ME
2. Требования для начала работы 3. Базовые концепции карт 4. Введение в сервисы для поиска
(Search) и маршрутизации (Routing) 5. Введение в позиционирование
(positioning) (JSR-179)
Agenda
2 “© Nokia 2012 Intro to Maps on Apps Russian.pptx
Nokia Maps API для Java ME
3 “© Nokia 2012 Intro to Maps on Apps Russian.pptx
Что такое Nokia Maps API для Java ME?
4 “© Nokia 2012 Intro to Maps on Apps Russian.pptx
Для детальной информации пройдите по ссылке: http://www.developer.nokia.com/Develop/Maps/Maps_API_for_Java_ME/
• API предназначено для Series 40 Phones. Позволяет разрабатывать мобильные приложения для Nokia карт.
• Façade Pattern – скрывает детали реализации – низкоуровневые сетевые вызовы, манипуляции с изображениями и тому подобное.
• Поддерживаемые устройства MIDP 2.0 или
выше.
• В данный момент не является частью SDK
• Доступно одним JAR файлом, приблизительно 150 kB.
• Улучшена скорость разработки, а также скорость самих
приложений
Почему следует использовать Nokia Maps API для Java ME?
5 “© Nokia 2012 Intro to Maps on Apps Russian.pptx
• Различные типы карт, оптимизированные для мобильных устройств.
• Уменьшение сетевого трафика по сравнению со статическими картами
• Готовая поддержка наиболее популярных вариантов
использования (Markers, Images, Polygons, Polylines, Pan and Zoom)
• Встроенные в библиотеку сервисы для доступа к POI информации, выполнения поиска, построения маршрута.
• Компоненты карты позволяют расширять и
переопределять их функциональность.
• Продвинутые возможности как стандарт, например KML parsing и дополнительные пользовательские слои.
Сравнение Nokia Java ME карт со статическими картами на основе картинки
6 “© Nokia 2012 Intro to Maps on Apps Russian.pptx
Статическая Карта (т.е. RESTful Map API) • одиночный http запрос для одной карты одно изображение возвращается в ответ • новый запрос на каждое изменение. Карты для Java ME • Несколько http запросов для
соответствующих фрагментов карты. • Полученные фрагменты кэшитуются. • Затем они «склеиваются» вместе и обьекты
добавляются поверх. • Дополнительные запросы делаются только в
случае необходимости.
Результат • Благодаря встроенной разумной отрисовки карты, увеличивается скорость
работы и уменьшается сетевой трафик. Использование кэширования и разбитие на фрагменты лучше для мобильных девайсов.
Инструкция по установке
7 “© Nokia 2012 Intro to Maps on Apps Russian.pptx
Инструкция по установке
8 “© Nokia 2012 Intro to Maps on Apps Russian.pptx
1. Установите Java Runtime Environment 6 http://www.java.com/en/download/index.jsp
2. Установите IDE (например NetBeans) Netbeans.org
3. Установите Nokia SDK для Java (бесплатно) http://www.developer.nokia.com/Develop/Java/Tools/
2.
Инструкция по установке
9 “© Nokia 2012 Intro to Maps on Apps Russian.pptx
4. Конфигурирование Nokia SDK в NetBeans
1.
3.
Инструкция по установке
10 “© Nokia 2012 Intro to Maps on Apps Russian.pptx
5. Загрузка бинарного Jar файла http://www.developer.nokia.com/Develop/Maps/Maps_API_for_Java_ME/Getting_started/
Инструкция по установке
11 “© Nokia 2012 Intro to Maps on Apps Russian.pptx
6. Бесплатная регистрация для разработчиков на www.developer.nokia.com
Инструкция по установке
12 “© Nokia 2012 Intro to Maps on Apps Russian.pptx
7. Получите бесплатно credentials (App Id иToken) для аутентификации: https://api.developer.nokia.com/ovi-api/ui/registration − Уникальные App ID иToken, необходимы для каждого приложения
8. После создания нового NetBeans проекта, Вы должны добавить Nokia Maps API бинарный jar файл - Maps_API.jar. Ссылка появится в папке ”Resources” в NetBeans проекте.
Базовые концепции
13 “© Nokia 2012 Intro to Maps on Apps Russian.pptx
• Минимальные возможности карты • Типы карт
• Языки поддерживаемые картой
• Маркеры
• Полилайн и полигон
• Взаимодействие компонентов
Минимальные возможности карты
14 “© Nokia 2012 Intro to Maps on Apps Russian.pptx
Реализация Pan и Zoom функциональности в несколько строк кода. 1. Передать credentials в ApplicationContext
2. Создать MapCanvas
3. Установить в него Display
Типы Карт
15 “© Nokia 2012 Intro to Maps on Apps Russian.pptx
Выберете подходящий тип для Вашей карты
Типы карт – Простой Метод
16 “© Nokia 2012 Intro to Maps on Apps Russian.pptx
Стандартные схемы
Пример кода
Типы карт – Продвинутый метод
17 “© Nokia 2012 Intro to Maps on Apps Russian.pptx
1) Реализуйте интерфейс MapSchemeListener и вызовите getAvailableMaps()
2) Обработайте полученный результат(Success или Failure)
3) Установите BaseMapType из списка доступных MapProviders
Языки поддерживаемые картой
18 “© Nokia 2012 Intro to Maps on Apps Russian.pptx
• В данный момент доступны восемь языков: Арабский, Китайский, Немецкий, Английский, Французский, Итальянский, Испанский и Русский
• Просто выберите DefaultLanguage в ApplicationContext
• По умолчанию используется
Английский
Маркеры
19 “© Nokia 2012 Intro to Maps on Apps Russian.pptx
Маркеры – это облегченная версия POI (points of interest) для указанного местоположения на карте. Существует 2 типа: • MapStandardMarker
• Различные геометрические фигуры, плюс Balloon • Легко добавить text, изменить color (и прозрачность)
• MapMarker • Используется для иконок. • Нужно определить местоположение к которому будет
привязан маркер. • Используйте MapFactory для создания экземпляров
MapStandardMarkers и MapMarkers
• Маркер по умолчанию ‘Синий Nokia’ Balloon
Polyline и Polygon
20 “© Nokia 2012 Intro to Maps on Apps Russian.pptx
• MapPolyline – это последовательность соединенных точек
• MapPolygon - это область ограниченная замкнутой ломаной
• Каждый экземпляр MapPolygon или MapPolyline создается с помощью MapFactory
• Оба обьекта имеют GeoBoundingBox.
MapCanvas MapDisplay MapObject
21 “© Nokia 2012 Intro to Maps on Apps Russian.pptx
• MapCanvas содержит MapFactory и
MapDisplay
• Используйте MapFactory для создания MapObjects
• MapFactory может быть использована для
создания MapDisplay, т.е. для автоматического кэшировамия статической карты
• MapDisplay содержит MapObjects, а так же он и сам являтся MapObject.
• MapObjects могут быть помещены в MapContainer
Map Events
22 “© Nokia 2012 Intro to Maps on Apps Russian.pptx
• Создание MapComponent для взаимодействия с MapDisplay
• Добавление EventListener в MapComponent для получения уведомлений о взаимодействии с экраном и нажатии клавиш
Введение в Location-Based сервисы
23 “© Nokia 2012 Intro to Maps on Apps Russian.pptx
• Поиск (Geocoding Search and Reverse Geocoding Search )
• Поиск мест (Places Search)
• Маршрутизация (Routing)
• Sharing
Geocoding Search
24 “© Nokia 2012 Intro to Maps on Apps Russian.pptx
• Поиск местоположения на карте по заданному адресу
• Синхронный и асинхронный поиск
• Желательно использовать асинхроный.
1. Реализация GeoCodeRequestListener
2. Создание GeoCodeRequest
3. Обработка полученного результата
Reverse Geocoding Search
25 “© Nokia 2012 Intro to Maps on Apps Russian.pptx
• Поиск адреса для заданого географического положения (location). • Поиск так же может быть синхронным или асинхронным • Желательно использовать асинхронный
1. Реализация ReverseGeocodeRequestListener
2. Создание ReverseGeoCodeRequest
3. Обработка полученного результата
Поиск мест (Places Search)
26 “© Nokia 2012 Intro to Maps on Apps Russian.pptx
• Гибкий локальный поиск (Local Search) • Обычный текстовый поиск (Text Search, например: “Пицца”) • Поиск по категориям (Category Search, например: ресторан) • Комбинированный поиск (например: “Итальянский” +
ресторан)
• Получение более детальной информации
• Контактная информация • Часы работы • Описание и отзывы • Изображения и т.п.
Поиск Мест (Places Search)
27 “© Nokia 2012 Intro to Maps on Apps Russian.pptx
1. Реализация PlaceSearchRequestListener
2. Создание PlaceSearchRequest
3. Обработка полученного результата
4. Более детальная информация может быть получена из Result
Сервис Маршрутизации (Routing )
28 “© Nokia 2012 Intro to Maps on Apps Russian.pptx
• Routing сервис предназначен для построения маршрута между двумя и более точками (Waypoints).
• Построение маршрута – дорогостоящая операция и может занять много времени. Рекомендуется выполнять RouteRequests асинхронно.
1. Реализация RouteListener
2. Создание RouteRequest
3. Обработка полученных результатов
• Тип маршрутизации – по умолчанию RoutingType.Shortest
• Транспортный режим – по умолчанию TransportMode.CAR
• Дополнительные ограничения (по умолчанию отсутствуют)
Routing сервис
29 “© Nokia 2012 Intro to Maps on Apps Russian.pptx
• Построение маршрута может быть оптимизировано с помощью задания RoutingMode
Sharing Manager
30 “© Nokia 2012 Intro to Maps on Apps Russian.pptx
• Создание зашифрованного URL для RESTful Maps API
• Отправка URL через SMS клиенту для получения статической карты.
• Сервис перенаправляет на maps.nokia.com или на m.maps.nokia.com используя встроенный броузер
Позиционирование (Positioning)
31 “© Nokia 2012 Intro to Maps on Apps Russian.pptx
• Отдельный вспомогательный пакет для позиционирования (JSR-179)
• Зачастую поставлятся с Nokia Maps API для Java ME, тем не менее не является частью API
• Используются два метода • Cell ID positioning • GPS
Cell-ID Location
32 “© Nokia 2012 Intro to Maps on Apps Russian.pptx
• A MIDlet может получить приблизительную позицию с помощью Cell-ID.
• Метод состоит из передачи Cell ID,к которой в данный момент присоединено устройство, на сервис. Сервис вернет позицию для данной cell-ID.
• Cell ID предоставляет возможность позиционирования для устройств, которые не имеют GPS модуля.
Прим.: Степень погрешности может варьироваться от нескольких метров до нескольких километров, и зависит от инфраструктуры сети и данных доступных для данного региона.
Cell-ID Примеры
1) Создание Cell-ID LocationProvider с помощью LocationUtils Прим.: В данный момент вместо второго параметра в getLocationProvider()передается null. Это сделано для дальнейшего расширения библиотеки.
2) Вызовите getLocation() и обработайте результат
Аттрибуты из QualifiedCoordinate класса соответствуют GeoCoordinate классу.
Обрабатывайте информацию об изменении позиции в цикле.
“© Nokia 2012 Intro to Maps on Apps Russian.pptx 33
LocationUtil • Метод определения местоположения может
быть любой комбинацией из методов перечисленных в JSR-179:
Часто используемые комбинации • Offline Cell ID
• Standalone GPS
• Assisted GPS
• Online Cell ID an/or WLAN
“© Nokia 2012 Intro to Maps on Apps Russian.pptx 34
GPS Примеры
1. Создание GPS LocationProvider
2. Настройка провайдера для получения данных
3. Получение и обработка результата
“© Nokia 2012 Intro to Maps on Apps Russian.pptx 35
Дополнительная информация
Nokia SDK for Java http://developer.nokia.com/ru Nokia Developer Library http://library.developer.nokia.com Nokia Maps API http://developer.nokia.com/Maps
36 “© Nokia 2012 Intro to Maps on Apps Russian.pptx
top related