intro to apps with maps for series 40 russian

36
Разработка приложений с помощью Nokia карт и Location API для телефонов Series 40 Nokia Series 40 1 “© Nokia 2012 Intro to Maps on Apps Russian.pptx Владимир Безкоровайный Senior Software Engineer Maps Platform

Upload: microsoft-mobile-developer

Post on 16-Jun-2015

611 views

Category:

Technology


4 download

DESCRIPTION

Приложения, использующие карты и location API, все больше востребованны в повседневном использовании. Интегрируйте Nokia Maps сервисы в ваше Java MEприложение и используйте Location API для Series 40 телефонов, чтобы сделать ваши приложения умнее. В этом webinarе вы получите базовые навыки отображения карты и научитесь выполнять базовые операции с ней, научитесь добавлять стандартные маркеры на карту и создавать свои собственные. Будут представлены компоненты карт, узнаете как использовать сервисы доступные для карты, и как обмениватся информацией о выбранном географическом положении между устройствами.

TRANSCRIPT

Page 1: Intro to apps with maps for series 40 russian

Разработка приложений с помощью Nokia карт и Location API для телефонов Series 40

Nokia Series 40

1 “© Nokia 2012 Intro to Maps on Apps Russian.pptx

Владимир Безкоровайный Senior Software Engineer Maps Platform

Page 2: Intro to apps with maps for series 40 russian

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

Page 3: Intro to apps with maps for series 40 russian

Nokia Maps API для Java ME

3 “© Nokia 2012 Intro to Maps on Apps Russian.pptx

Page 4: Intro to apps with maps for series 40 russian

Что такое 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.

• Улучшена скорость разработки, а также скорость самих

приложений

Page 5: Intro to apps with maps for series 40 russian

Почему следует использовать 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 и дополнительные пользовательские слои.

Page 6: Intro to apps with maps for series 40 russian

Сравнение Nokia Java ME карт со статическими картами на основе картинки

6 “© Nokia 2012 Intro to Maps on Apps Russian.pptx

Статическая Карта (т.е. RESTful Map API) • одиночный http запрос для одной карты одно изображение возвращается в ответ • новый запрос на каждое изменение. Карты для Java ME • Несколько http запросов для

соответствующих фрагментов карты. • Полученные фрагменты кэшитуются. • Затем они «склеиваются» вместе и обьекты

добавляются поверх. • Дополнительные запросы делаются только в

случае необходимости.

Результат • Благодаря встроенной разумной отрисовки карты, увеличивается скорость

работы и уменьшается сетевой трафик. Использование кэширования и разбитие на фрагменты лучше для мобильных девайсов.

Page 7: Intro to apps with maps for series 40 russian

Инструкция по установке

7 “© Nokia 2012 Intro to Maps on Apps Russian.pptx

Page 8: Intro to apps with maps for series 40 russian

Инструкция по установке

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/

Page 9: Intro to apps with maps for series 40 russian

2.

Инструкция по установке

9 “© Nokia 2012 Intro to Maps on Apps Russian.pptx

4. Конфигурирование Nokia SDK в NetBeans

1.

3.

Page 10: Intro to apps with maps for series 40 russian

Инструкция по установке

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/

Page 11: Intro to apps with maps for series 40 russian

Инструкция по установке

11 “© Nokia 2012 Intro to Maps on Apps Russian.pptx

6. Бесплатная регистрация для разработчиков на www.developer.nokia.com

Page 12: Intro to apps with maps for series 40 russian

Инструкция по установке

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 проекте.

Page 13: Intro to apps with maps for series 40 russian

Базовые концепции

13 “© Nokia 2012 Intro to Maps on Apps Russian.pptx

• Минимальные возможности карты • Типы карт

• Языки поддерживаемые картой

• Маркеры

• Полилайн и полигон

• Взаимодействие компонентов

Page 14: Intro to apps with maps for series 40 russian

Минимальные возможности карты

14 “© Nokia 2012 Intro to Maps on Apps Russian.pptx

Реализация Pan и Zoom функциональности в несколько строк кода. 1. Передать credentials в ApplicationContext

2. Создать MapCanvas

3. Установить в него Display

Page 15: Intro to apps with maps for series 40 russian

Типы Карт

15 “© Nokia 2012 Intro to Maps on Apps Russian.pptx

Выберете подходящий тип для Вашей карты

Page 16: Intro to apps with maps for series 40 russian

Типы карт – Простой Метод

16 “© Nokia 2012 Intro to Maps on Apps Russian.pptx

Стандартные схемы

Пример кода

Page 17: Intro to apps with maps for series 40 russian

Типы карт – Продвинутый метод

17 “© Nokia 2012 Intro to Maps on Apps Russian.pptx

1) Реализуйте интерфейс MapSchemeListener и вызовите getAvailableMaps()

2) Обработайте полученный результат(Success или Failure)

3) Установите BaseMapType из списка доступных MapProviders

Page 18: Intro to apps with maps for series 40 russian

Языки поддерживаемые картой

18 “© Nokia 2012 Intro to Maps on Apps Russian.pptx

• В данный момент доступны восемь языков: Арабский, Китайский, Немецкий, Английский, Французский, Итальянский, Испанский и Русский

• Просто выберите DefaultLanguage в ApplicationContext

• По умолчанию используется

Английский

Page 19: Intro to apps with maps for series 40 russian

Маркеры

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

Page 20: Intro to apps with maps for series 40 russian

Polyline и Polygon

20 “© Nokia 2012 Intro to Maps on Apps Russian.pptx

• MapPolyline – это последовательность соединенных точек

• MapPolygon - это область ограниченная замкнутой ломаной

• Каждый экземпляр MapPolygon или MapPolyline создается с помощью MapFactory

• Оба обьекта имеют GeoBoundingBox.

Page 21: Intro to apps with maps for series 40 russian

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

Page 22: Intro to apps with maps for series 40 russian

Map Events

22 “© Nokia 2012 Intro to Maps on Apps Russian.pptx

• Создание MapComponent для взаимодействия с MapDisplay

• Добавление EventListener в MapComponent для получения уведомлений о взаимодействии с экраном и нажатии клавиш

Page 23: Intro to apps with maps for series 40 russian

Введение в Location-Based сервисы

23 “© Nokia 2012 Intro to Maps on Apps Russian.pptx

• Поиск (Geocoding Search and Reverse Geocoding Search )

• Поиск мест (Places Search)

• Маршрутизация (Routing)

• Sharing

Page 24: Intro to apps with maps for series 40 russian

Geocoding Search

24 “© Nokia 2012 Intro to Maps on Apps Russian.pptx

• Поиск местоположения на карте по заданному адресу

• Синхронный и асинхронный поиск

• Желательно использовать асинхроный.

1. Реализация GeoCodeRequestListener

2. Создание GeoCodeRequest

3. Обработка полученного результата

Page 25: Intro to apps with maps for series 40 russian

Reverse Geocoding Search

25 “© Nokia 2012 Intro to Maps on Apps Russian.pptx

• Поиск адреса для заданого географического положения (location). • Поиск так же может быть синхронным или асинхронным • Желательно использовать асинхронный

1. Реализация ReverseGeocodeRequestListener

2. Создание ReverseGeoCodeRequest

3. Обработка полученного результата

Page 26: Intro to apps with maps for series 40 russian

Поиск мест (Places Search)

26 “© Nokia 2012 Intro to Maps on Apps Russian.pptx

• Гибкий локальный поиск (Local Search) • Обычный текстовый поиск (Text Search, например: “Пицца”) • Поиск по категориям (Category Search, например: ресторан) • Комбинированный поиск (например: “Итальянский” +

ресторан)

• Получение более детальной информации

• Контактная информация • Часы работы • Описание и отзывы • Изображения и т.п.

Page 27: Intro to apps with maps for series 40 russian

Поиск Мест (Places Search)

27 “© Nokia 2012 Intro to Maps on Apps Russian.pptx

1. Реализация PlaceSearchRequestListener

2. Создание PlaceSearchRequest

3. Обработка полученного результата

4. Более детальная информация может быть получена из Result

Page 28: Intro to apps with maps for series 40 russian

Сервис Маршрутизации (Routing )

28 “© Nokia 2012 Intro to Maps on Apps Russian.pptx

• Routing сервис предназначен для построения маршрута между двумя и более точками (Waypoints).

• Построение маршрута – дорогостоящая операция и может занять много времени. Рекомендуется выполнять RouteRequests асинхронно.

1. Реализация RouteListener

2. Создание RouteRequest

3. Обработка полученных результатов

Page 29: Intro to apps with maps for series 40 russian

• Тип маршрутизации – по умолчанию RoutingType.Shortest

• Транспортный режим – по умолчанию TransportMode.CAR

• Дополнительные ограничения (по умолчанию отсутствуют)

Routing сервис

29 “© Nokia 2012 Intro to Maps on Apps Russian.pptx

• Построение маршрута может быть оптимизировано с помощью задания RoutingMode

Page 30: Intro to apps with maps for series 40 russian

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 используя встроенный броузер

Page 31: Intro to apps with maps for series 40 russian

Позиционирование (Positioning)

31 “© Nokia 2012 Intro to Maps on Apps Russian.pptx

• Отдельный вспомогательный пакет для позиционирования (JSR-179)

• Зачастую поставлятся с Nokia Maps API для Java ME, тем не менее не является частью API

• Используются два метода • Cell ID positioning • GPS

Page 32: Intro to apps with maps for series 40 russian

Cell-ID Location

32 “© Nokia 2012 Intro to Maps on Apps Russian.pptx

• A MIDlet может получить приблизительную позицию с помощью Cell-ID.

• Метод состоит из передачи Cell ID,к которой в данный момент присоединено устройство, на сервис. Сервис вернет позицию для данной cell-ID.

• Cell ID предоставляет возможность позиционирования для устройств, которые не имеют GPS модуля.

Прим.: Степень погрешности может варьироваться от нескольких метров до нескольких километров, и зависит от инфраструктуры сети и данных доступных для данного региона.

Page 33: Intro to apps with maps for series 40 russian

Cell-ID Примеры

1) Создание Cell-ID LocationProvider с помощью LocationUtils Прим.: В данный момент вместо второго параметра в getLocationProvider()передается null. Это сделано для дальнейшего расширения библиотеки.

2) Вызовите getLocation() и обработайте результат

Аттрибуты из QualifiedCoordinate класса соответствуют GeoCoordinate классу.

Обрабатывайте информацию об изменении позиции в цикле.

“© Nokia 2012 Intro to Maps on Apps Russian.pptx 33

Page 34: Intro to apps with maps for series 40 russian

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

Page 35: Intro to apps with maps for series 40 russian

GPS Примеры

1. Создание GPS LocationProvider

2. Настройка провайдера для получения данных

3. Получение и обработка результата

“© Nokia 2012 Intro to Maps on Apps Russian.pptx 35

Page 36: Intro to apps with maps for series 40 russian

Дополнительная информация

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