Опубликован: 22.12.2015 | Уровень: для всех | Доступ: платный
Лекция 24:

Библиотека Google Maps

< Лекция 23 || Лекция 24 || Лекция 25 >

Регистрация привилегии

Вы можете использовать в своем приложении электронные карты Google Maps. Отправив на сервер Google координаты (широту и долготу), а также масштаб, мы получим глоданные, которые можно визуализировать в элементе управления canvas. Чтобы упростить процедуру кодирования предлагается библиотека MapView.h.

Создайте новый пример 'MapViewEx.' Добавьте привилегию http://tizen.org/privilege/internet.

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<manifest xmlns="http://tizen.org/ns/packages" api-version="2.3" package="org.example.mapviewex" version="1.0.0">
<profile name="mobile"/>
<ui-application appid="org.example.mapviewex" exec="mapviewex" multiple="false" nodisplay="false" taskmanage="true" type="capp">
<label>mapviewex</label>
<icon>mapviewex.png</icon>
</ui-application>
<privileges>
<privilege>http://tizen.org/privilege/internet</privilege>
</privileges>
</manifest>

Копирование библиотечных файлов

Компания Samsung предлагает библиотеку MapView.h и два графических файла (NULL.PNG и white.PNG). Библиотеку скопируйте в папку /inc. В папке /res создайте папку /images и скопируйте туда графические файлы.


Создание элемента управления MapView

Откройте файл исходного кода и внесите изменения в начале файла.

#include "mapviewexsample.h"
#include "MapView.h"
#define START_LATITUDE  54.7333333
#define START_LONGITUDE 55.966666

typedef struct appdata {
Evas_Object *win;
Evas_Object *conform;
Evas_Object *label;
} appdata_s;

MapView.h — это библиотека предоставляемая Samsung для просмотра карт.

START_LATITUDE и START_LONGITUDE — это координаты города Уфы, вы можете ввести свои координаты. Добавьте код в функцию create_base_gui().

/* Label*/
/*ad->label = elm_label_add(ad->conform);
elm_object_text_set(ad->label, "Using of Google Maps");
evas_object_size_hint_weight_set(ad->label, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
elm_object_content_set(ad->conform, ad->label);
evas_object_show(ad->label);*/
create_map(ad->conform, START_LATITUDE, START_LONGITUDE);
/* Show window after base gui is set up */
evas_object_show(ad->win);

create_map(Evas_Object *, double, double) — это функция, которая создает элемент управления MapView widget. Ее параметры следующие: контейнер и координаты (широта и долгота). Запустите проект.


< Лекция 23 || Лекция 24 || Лекция 25 >