2 * Copyright (c) 2014 Samsung Electronics Co., Ltd All Rights Reserved
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
17 #ifndef __MAPS_VIEW_H__
18 #define __MAPS_VIEW_H__
21 #include <maps_types.h>
22 #include <maps_view_event_data.h>
23 #include <maps_view_snapshot.h>
27 * @ingroup CAPI_MAPS_SERVICE_MODULE
28 * @defgroup CAPI_MAPS_VIEW_MODULE View
29 * @addtogroup CAPI_MAPS_VIEW_MODULE
33 * @section CAPI_MAPS_SERVICE_MODULE_FEATURE Related Features
34 * This API is related with the following features:\n
35 * - http://tizen.org/feature/network.internet\n
36 * It is recommended to design feature related codes in your application for reliability.\n
37 * You can check if a device supports the related features for this API by using
38 * @ref CAPI_SYSTEM_SYSTEM_INFO_MODULE, thereby controlling the procedure of your application.\n
39 * To ensure your application is only running on the device with specific features,
40 * please define the features in your manifest file using the manifest editor in the SDK.\n
41 * More details on featuring your application can be found from
42 * <a href="https://developer.tizen.org/development/getting-started/native-application/understanding-tizen-programming/application-filtering"><b>Feature List</b>.</a>
44 * @brief This file contains the top level functions of View API.
45 * @brief This provides APIs related to operations, used in View.
46 * @details Supported View API features include:
47 * * Creating and destroying the View port, moving and resizing it
48 * * Changing zoom, and orientation
49 * * Changing properties: theme (day, satellite, terrain),
50 * language (English, Russian, Chinese, Italian, German, Spanish, etc.)
51 * * Converting screen coordinates to geographical and vise versa
52 * * Managing user's gestures: receiving user's gesture events, enabling or
53 * disabling specified user gestures, assigning View actions, which must be
54 * taken in response on user gestures.
64 * @brief Enumeration for View types (themes).
65 * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
67 typedef enum _maps_view_type_e {
68 MAPS_VIEW_TYPE_NORMAL, /**< Indicates the normal street theme */
69 MAPS_VIEW_TYPE_SATELLITE, /**< Indicates the satellite theme */
70 MAPS_VIEW_TYPE_TERRAIN, /**< Indicates the terrain theme */
71 MAPS_VIEW_TYPE_HYBRID, /**< Indicates the hybrid theme, which is the satellite and normal street theme */
76 * @brief Called when requesting the list of visual objects of the View.
77 * @details This callback is invoked while iterating through the list of visual objects added to the View.
78 * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
79 * @param[in] index The current index of the visual object starts from 0
80 * @param[in] total The total amount of visual objects
81 * @param[in] object The visual object
82 * @param[in] user_data The user data pointer passed from maps_view_foreach_object()
83 * @return @c true to continue with the next iteration of the loop, \n
84 * @c false to break out of the loop
85 * @pre maps_view_foreach_object() will invoke this callback.
86 * @see #maps_view_object_h
87 * @see maps_view_foreach_object()
89 typedef bool(*maps_view_object_cb) (int index, int total, maps_view_object_h object, void *user_data);
93 * @brief Called when the View event occurs.
94 * @details The View Panel invokes this callback when the map event occurs.
95 * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
96 * @remarks @a event_data will be released automatically after this callback is terminated.\n
97 * To use @a event_data outside this function, clone it with maps_view_event_data_clone().
98 * @param[in] type The new type of callback, listed in #maps_view_event_type_e
99 * @param[in] event_data The event data
100 * @param[in] user_data The user data pointer registered in maps_view_set_event_cb()
101 * @pre maps_view_set_event_cb() sets the callback.
102 * @pre maps_view_set_center(),
103 * maps_view_set_zoom_level(),
104 * maps_view_set_orientation(),
105 * invoke the callback with the type #MAPS_VIEW_EVENT_ACTION.
106 * @see maps_view_set_event_cb()
107 * @see maps_view_set_center()
108 * @see maps_view_set_zoom_level()
109 * @see maps_view_set_orientation()
111 typedef void(*maps_view_on_event_cb) (maps_view_event_type_e type, maps_view_event_data_h event_data, void *user_data);
113 /* ----------------------CREATE AND DESTROY-----------------------------------*/
117 * @brief Creates the View and link it to the instance of maps service.
118 * @details This function creates a new View widget, allocates all needed
119 * resources and issues its handle.\n
120 * The newly created View is linked to the specified map's service.\n
121 * The View by default is resized to fill whole parent area.\n
122 * To center the map on a specific geographical coordinates with a desired
123 * zoom level and rotation angle, use maps_view_set_center(),
124 * maps_view_set_zoom_level(), and maps_view_set_orientation() respectively.\n
125 * To change View theme, size, and visibility properties, use
126 * maps_view_set_type() and maps_view_set_visibility() respectively.
127 * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
129 * @privilege %http://tizen.org/privilege/mapservice
130 * @remarks The @a View must be released using maps_view_destroy().
131 * @param[in] maps The maps service handle
132 * @param[in] obj The evas object to be drawn
133 * @param[out] view The handle pointer to a maps_view_h, in which to store the newly created View handle
134 * @return @c 0 on success,
135 * otherwise a negative error value
136 * @retval #MAPS_ERROR_NONE Successful
137 * @retval #MAPS_ERROR_OUT_OF_MEMORY Out of memory
138 * @retval #MAPS_ERROR_INVALID_PARAMETER Invalid parameter
139 * @retval #MAPS_ERROR_PERMISSION_DENIED Permission Denied
140 * @retval #MAPS_ERROR_NOT_SUPPORTED Not supported
141 * @pre @a maps is created using maps_service_create().
142 * @pre @a obj is recommended using a smart object.
143 * @see maps_view_destroy()
144 * @see maps_service_create()
145 * @see maps_view_set_center()
146 * @see maps_view_set_zoom_level()
147 * @see maps_view_set_orientation()
148 * @see maps_view_set_type()
149 * @see maps_view_set_visibility()
150 * @see elm_layout_add()
152 int maps_view_create(maps_service_h maps, Evas_Object *obj, maps_view_h *view);
156 * @brief Destroys the View.
157 * @details This function destroys the View, releases its handle and
158 * all allocated resources, unlinks the View from the instance of maps service.
159 * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
161 * @privilege %http://tizen.org/privilege/mapservice
162 * @param[in] view The View handle to destroy
163 * @return @c 0 on success,
164 * otherwise a negative error value
165 * @retval #MAPS_ERROR_NONE Successful
166 * @retval #MAPS_ERROR_INVALID_PARAMETER Invalid parameter
167 * @retval #MAPS_ERROR_PERMISSION_DENIED Permission Denied
168 * @retval #MAPS_ERROR_NOT_SUPPORTED Not supported
169 * @pre @a View is created using maps_view_create().
170 * @see maps_view_create()
172 int maps_view_destroy(maps_view_h view);
175 /*----------------------MAP ZOOM, ROTATE, SET CENTER--------------------------*/
179 * @brief Centers the map on a given geographical coordinates.
180 * @details This function centers the map on a given geographical coordinates using current zoom and orientation.
181 * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
183 * @privilege %http://tizen.org/privilege/mapservice \n
184 * %http://tizen.org/privilege/internet \n
185 * %http://tizen.org/privilege/network.get
186 * @param[in] view The view handle
187 * @param[in] coordinates The geographical coordinates of the position to be centered on the View
188 * @return @c 0 on success,
189 * otherwise a negative error value
190 * @retval #MAPS_ERROR_NONE Successful
191 * @retval #MAPS_ERROR_INVALID_PARAMETER Invalid parameter
192 * @retval #MAPS_ERROR_PERMISSION_DENIED Permission Denied
193 * @retval #MAPS_ERROR_CONNECTION_TIME_OUT Timeout error, no answer
194 * @retval #MAPS_ERROR_NETWORK_UNREACHABLE Network unavailable
195 * @retval #MAPS_ERROR_NOT_SUPPORTED Not supported
196 * @pre @a view is created using maps_view_create().
197 * @pre @a coordinates are created using maps_coordinates_create().
198 * @see maps_view_get_center()
199 * @see maps_view_set_zoom_level()
200 * @see maps_view_set_orientation()
201 * @see maps_coordinates_create()
202 * @see maps_view_create()
204 int maps_view_set_center(maps_view_h view, maps_coordinates_h coordinates);
208 * @brief Gets the central coordinates of a map.
209 * @details This function gets the current central coordinates of a map.
210 * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
211 * @remarks The @a coordinates must be released using maps_coordinates_destroy().
212 * @param[in] view The view handle
213 * @param[out] coordinates The pointer to #maps_coordinates_h in which to
214 * store the geographical coordinates of the central position of the map
215 * @return @c 0 on success,
216 * otherwise a negative error value
217 * @retval #MAPS_ERROR_NONE Successful
218 * @retval #MAPS_ERROR_OUT_OF_MEMORY Out of memory
219 * @retval #MAPS_ERROR_INVALID_PARAMETER Invalid parameter
220 * @retval #MAPS_ERROR_NOT_SUPPORTED Not supported
221 * @pre @a view is created using maps_view_create().
222 * @see maps_view_set_center()
223 * @see maps_view_get_zoom_level()
224 * @see maps_view_get_orientation()
225 * @see maps_coordinates_destroy()
226 * @see maps_view_create()
228 int maps_view_get_center(const maps_view_h view, maps_coordinates_h *coordinates);
232 * @brief Sets zoom level of the map.
233 * @details This function sets the integer zoom level of the map.\n
234 * If the specified zoom level exceeds the maps Provider allowed zoom range,
235 * the function returns #MAPS_ERROR_INVALID_PARAMETER error.\n
236 * To check the range of allowed zoom level, use maps_view_get_min_zoom_level()
237 * and maps_view_get_max_zoom_level().
238 * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
240 * @privilege %http://tizen.org/privilege/mapservice \n
241 * %http://tizen.org/privilege/internet \n
242 * %http://tizen.org/privilege/network.get
243 * @param[in] view The view handle
244 * @param[in] level The new zoom level
245 * @return @c 0 on success,
246 * otherwise a negative error value
247 * @retval #MAPS_ERROR_NONE Successful
248 * @retval #MAPS_ERROR_INVALID_PARAMETER Invalid parameter
249 * @retval #MAPS_ERROR_PERMISSION_DENIED Permission Denied
250 * @retval #MAPS_ERROR_CONNECTION_TIME_OUT Timeout error, no answer
251 * @retval #MAPS_ERROR_NETWORK_UNREACHABLE Network unavailable
252 * @retval #MAPS_ERROR_NOT_SUPPORTED Not supported
253 * @pre @a view is created using maps_view_create().
254 * @see maps_view_get_zoom_level()
255 * @see maps_view_set_orientation()
256 * @see maps_view_get_min_zoom_level()
257 * @see maps_view_get_max_zoom_level()
258 * @see maps_view_create()
260 int maps_view_set_zoom_level(maps_view_h view, int level);
264 * @brief Gets zoom level of the map.
265 * @details This function gets the current integer zoom level of the map.
266 * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
267 * @param[in] view The view handle
268 * @param[out] level The pointer to an integer in which to store the current zoom level
269 * @return @c 0 on success,
270 * otherwise a negative error value
271 * @retval #MAPS_ERROR_NONE Successful
272 * @retval #MAPS_ERROR_INVALID_PARAMETER Invalid parameter
273 * @retval #MAPS_ERROR_NOT_SUPPORTED Not supported
274 * @pre @a view is created using maps_view_create().
275 * @see maps_view_set_zoom_level()
276 * @see maps_view_get_min_zoom_level()
277 * @see maps_view_get_max_zoom_level()
278 * @see maps_view_create()
280 int maps_view_get_zoom_level(const maps_view_h view, int *level);
284 * @brief Sets the minimal zoom level of the map.
285 * @details This function sets the minimally allowed zoom level of the map.
286 * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
288 * @privilege %http://tizen.org/privilege/mapservice
289 * @param[in] view The view handle
290 * @param[out] level The new minimal zoom level
291 * @return @c 0 on success,
292 * otherwise a negative error value
293 * @retval #MAPS_ERROR_NONE Successful
294 * @retval #MAPS_ERROR_INVALID_PARAMETER Invalid parameter
295 * @retval #MAPS_ERROR_INVALID_OPERATION Operation is not valid
296 * @retval #MAPS_ERROR_PERMISSION_DENIED Permission Denied
297 * @retval #MAPS_ERROR_NOT_SUPPORTED Not supported
298 * @pre @a view is created using maps_view_create().
299 * @see maps_view_get_min_zoom_level()
300 * @see maps_view_set_max_zoom_level()
301 * @see maps_view_get_max_zoom_level()
302 * @see maps_view_get_zoom_level()
303 * @see maps_view_set_zoom_level()
304 * @see maps_view_create()
306 int maps_view_set_min_zoom_level(maps_view_h view, int level);
310 * @brief Gets the minimal zoom level of the map.
311 * @details This function gets the minimally allowed zoom level of the map.
312 * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
313 * @param[in] view The view handle
314 * @param[out] min_zoom_level The pointer to an integer in which to store the minimally allowed zoom level
315 * @return @c 0 on success,
316 * otherwise a negative error value
317 * @retval #MAPS_ERROR_NONE Successful
318 * @retval #MAPS_ERROR_INVALID_PARAMETER Invalid parameter
319 * @retval #MAPS_ERROR_INVALID_OPERATION Operation is not valid
320 * @retval #MAPS_ERROR_NOT_SUPPORTED Not supported
321 * @pre @a view is created using maps_view_create().
322 * @see maps_view_get_max_zoom_level()
323 * @see maps_view_get_zoom_level()
324 * @see maps_view_set_zoom_level()
325 * @see maps_view_create()
327 int maps_view_get_min_zoom_level(const maps_view_h view, int *min_zoom_level);
331 * @brief Sets the maximal zoom level of the map.
332 * @details This function sets the maximally allowed zoom level of the map.
333 * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
335 * @privilege %http://tizen.org/privilege/mapservice
336 * @param[in] view The view handle
337 * @param[out] level The new maximal zoom level
338 * @return @c 0 on success,
339 * otherwise a negative error value
340 * @retval #MAPS_ERROR_NONE Successful
341 * @retval #MAPS_ERROR_INVALID_PARAMETER Invalid parameter
342 * @retval #MAPS_ERROR_INVALID_OPERATION Operation is not valid
343 * @retval #MAPS_ERROR_PERMISSION_DENIED Permission Denied
344 * @retval #MAPS_ERROR_NOT_SUPPORTED Not supported
345 * @pre @a view is created using maps_view_create().
346 * @see maps_view_set_min_zoom_level()
347 * @see maps_view_get_min_zoom_level()
348 * @see maps_view_get_max_zoom_level()
349 * @see maps_view_get_zoom_level()
350 * @see maps_view_set_zoom_level()
351 * @see maps_view_create()
353 int maps_view_set_max_zoom_level(maps_view_h view, int level);
357 * @brief Gets the maximal zoom level of the map.
358 * @details This function gets the maximally allowed zoom level of the map.
359 * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
360 * @param[in] view The view handle
361 * @param[out] max_zoom_level The pointer to an integer in which to store the maximally allowed zoom level
362 * @return @c 0 on success,
363 * otherwise a negative error value
364 * @retval #MAPS_ERROR_NONE Successful
365 * @retval #MAPS_ERROR_INVALID_PARAMETER Invalid parameter
366 * @retval #MAPS_ERROR_INVALID_OPERATION Operation is not valid
367 * @retval #MAPS_ERROR_NOT_SUPPORTED Not supported
368 * @pre @a view is created using maps_view_create().
369 * @see maps_view_get_min_zoom_level()
370 * @see maps_view_get_zoom_level()
371 * @see maps_view_set_zoom_level()
372 * @see maps_view_create()
374 int maps_view_get_max_zoom_level(const maps_view_h view, int *max_zoom_level);
378 * @brief Sets the orientation on the View.
379 * @details This function sets the rotation angle of the View.\n
380 * If the specified rotation angle exceeds the [0..360] range, the
381 * function returns #MAPS_ERROR_INVALID_PARAMETER error.
382 * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
384 * @privilege %http://tizen.org/privilege/mapservice \n
385 * %http://tizen.org/privilege/internet \n
386 * %http://tizen.org/privilege/network.get
387 * @param[in] view The view handle
388 * @param[in] angle The new orientation angle
389 * @return @c 0 on success,
390 * otherwise a negative error value
391 * @retval #MAPS_ERROR_NONE Successful
392 * @retval #MAPS_ERROR_INVALID_PARAMETER Invalid parameter
393 * @retval #MAPS_ERROR_PERMISSION_DENIED Permission Denied
394 * @retval #MAPS_ERROR_CONNECTION_TIME_OUT Timeout error, no answer
395 * @retval #MAPS_ERROR_NETWORK_UNREACHABLE Network unavailable
396 * @retval #MAPS_ERROR_NOT_SUPPORTED Not supported
397 * @pre @a view is created using maps_view_create().
398 * @see maps_view_get_orientation()
399 * @see maps_view_set_zoom_level()
400 * @see maps_view_create()
402 int maps_view_set_orientation(maps_view_h view, double angle);
406 * @brief Gets the orientation.
407 * @details This function gets the current map rotation angle on the View.
408 * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
409 * @param[in] view The view handle
410 * @param[out] rotation_angle The pointer to a double in which to store the current rotation angle
411 * @return @c 0 on success,
412 * otherwise a negative error value
413 * @retval #MAPS_ERROR_NONE Successful
414 * @retval #MAPS_ERROR_INVALID_PARAMETER Invalid parameter
415 * @retval #MAPS_ERROR_NOT_SUPPORTED Not supported
416 * @pre @a view is created using maps_view_create().
417 * @see maps_view_set_orientation()
418 * @see maps_view_get_zoom_level()
419 * @see maps_view_create()
421 int maps_view_get_orientation(const maps_view_h view, double *rotation_angle);
424 /*----------------------SCREEN <--> GEOGRAPHY---------------------------------*/
428 * @brief Converts screen coordinates to the geographical coordinates.
429 * @details This function converts screen coordinates to the geographical
430 * coordinates accordingly to the current map zoom and orientation.
431 * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
433 * @privilege %http://tizen.org/privilege/mapservice
434 * @remarks The @a coordinates must be released using maps_coordinates_destroy().
435 * @param[in] view The view handle
436 * @param[in] x The x coordinate on the screen
437 * @param[in] y The y coordinate on the screen
438 * @param[out] coordinates The pointer to a #maps_coordinates_h in which to
439 * store the handle of geographical coordinates,
440 * corresponding to given screen coordinates
441 * @return @c 0 on success,
442 * otherwise a negative error value
443 * @retval #MAPS_ERROR_NONE Successful
444 * @retval #MAPS_ERROR_OUT_OF_MEMORY Out of memory
445 * @retval #MAPS_ERROR_INVALID_PARAMETER Invalid parameter
446 * @retval #MAPS_ERROR_PERMISSION_DENIED Permission Denied
447 * @retval #MAPS_ERROR_NOT_SUPPORTED Not supported
448 * @pre @a view is created using maps_view_create().
449 * @see maps_view_geolocation_to_screen()
450 * @see #maps_coordinates_h
451 * @see maps_coordinates_destroy()
452 * @see maps_view_create()
454 int maps_view_screen_to_geolocation(maps_view_h view, int x, int y, maps_coordinates_h *coordinates);
458 * @brief Converts geographical coordinates to the screen coordinates.
459 * @details This function converts geographical coordinates to the screen
460 * coordinates accordingly to the current map zoom and orientation.
461 * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
463 * @privilege %http://tizen.org/privilege/mapservice
464 * @param[in] view The view handle
465 * @param[in] coordinates The geographical coordinates
466 * @param[out] x The pointer to an integer in which to store the x coordinate on the screen,
467 * corresponding to given geographical coordinates
468 * @param[out] y The pointer to an integer in which to store the y coordinate on the screen,
469 * corresponding to given geographical coordinates
470 * @return @c 0 on success,
471 * otherwise a negative error value
472 * @retval #MAPS_ERROR_NONE Successful
473 * @retval #MAPS_ERROR_INVALID_PARAMETER Invalid parameter
474 * @retval #MAPS_ERROR_PERMISSION_DENIED Permission Denied
475 * @retval #MAPS_ERROR_NOT_SUPPORTED Not supported
476 * @pre @a view is created using maps_view_create().
477 * @pre @a coordinates is created using maps_coordinates_create().
478 * @see maps_view_screen_to_geolocation()
479 * @see #maps_coordinates_h
480 * @see maps_coordinates_create()
481 * @see maps_view_create()
483 int maps_view_geolocation_to_screen(maps_view_h view, const maps_coordinates_h coordinates, int *x, int *y);
486 /* --------------------VIEW PREFERENCES----------------------------------*/
490 * @brief Sets View type.
491 * @details This function switches the View to a specified type, one of
492 * listed in #maps_view_type_e enumeration.
493 * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
495 * @privilege %http://tizen.org/privilege/mapservice \n
496 * %http://tizen.org/privilege/internet \n
497 * %http://tizen.org/privilege/network.get
498 * @param[in] view The view handle
499 * @param[in] type The view type, one of listed in #maps_view_type_e
500 * @return @c 0 on success,
501 * otherwise a negative error value
502 * @retval #MAPS_ERROR_NONE Successful
503 * @retval #MAPS_ERROR_INVALID_PARAMETER Invalid parameter
504 * @retval #MAPS_ERROR_PERMISSION_DENIED Permission Denied
505 * @retval #MAPS_ERROR_CONNECTION_TIME_OUT Timeout error, no answer
506 * @retval #MAPS_ERROR_NETWORK_UNREACHABLE Network unavailable
507 * @retval #MAPS_ERROR_NOT_SUPPORTED Not supported
508 * @pre @a view is created using maps_view_create().
509 * @see #maps_view_type_e
510 * @see maps_view_get_type()
511 * @see maps_view_set_language()
512 * @see maps_view_create()
514 int maps_view_set_type(maps_view_h view, maps_view_type_e type);
518 * @brief Gets View type.
519 * @details This function gets the type of the given View.\n
520 * The type options are defined in the #maps_view_type_e enumeration.
521 * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
522 * @param[in] view The view handle
523 * @param[out] type The pointer to a #maps_view_type_e in which to store current view type
524 * @return @c 0 on success,
525 * otherwise a negative error value
526 * @retval #MAPS_ERROR_NONE Successful
527 * @retval #MAPS_ERROR_INVALID_PARAMETER Invalid parameter
528 * @retval #MAPS_ERROR_NOT_SUPPORTED Not supported
529 * @pre @a view is created using maps_view_create().
530 * @see #maps_view_type_e
531 * @see maps_view_set_type()
532 * @see maps_view_get_language()
533 * @see maps_view_create()
535 int maps_view_get_type(const maps_view_h view, maps_view_type_e *type);
539 * @brief Indicates whether the map should show the 3D buildings layer.
540 * @details This function is called to indicate whether 3D buildings should be shown as a layer on the map.
541 * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
543 * @privilege %http://tizen.org/privilege/mapservice \n
544 * %http://tizen.org/privilege/internet \n
545 * %http://tizen.org/privilege/network.get
546 * @remarks To check if Maps Provider is capable of drawing 3D buildings,
547 * use maps_service_provider_is_data_supported() with
548 * #MAPS_VIEW_BUILDING passed as a service data parameter.
549 * @param[in] view The view handle
550 * @param[in] enable The enable status
551 * @return @c 0 on success,
552 * otherwise a negative error value
553 * @retval #MAPS_ERROR_NONE Successful
554 * @retval #MAPS_ERROR_INVALID_PARAMETER Invalid parameter
555 * @retval #MAPS_ERROR_PERMISSION_DENIED Permission Denied
556 * @retval #MAPS_ERROR_CONNECTION_TIME_OUT Timeout error, no answer
557 * @retval #MAPS_ERROR_NETWORK_UNREACHABLE Network unavailable
558 * @retval #MAPS_ERROR_NOT_SUPPORTED Not supported
559 * @pre @a view is created using maps_view_create().
560 * @see maps_view_create()
561 * @see maps_view_get_buildings_enabled()
562 * @see maps_service_provider_is_data_supported()
564 int maps_view_set_buildings_enabled(maps_view_h view, bool enable);
568 * @brief Queries whether the map has the 3D buildings layer enabled.
569 * @details This function checks whether the map is set to show the 3D buildings layer.
570 * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
571 * @param[in] view The view handle
572 * @param[out] enable The pointer to a boolean in which to store the enable status
573 * @return @c 0 on success,
574 * otherwise a negative error value
575 * @retval #MAPS_ERROR_NONE Successful
576 * @retval #MAPS_ERROR_INVALID_PARAMETER Invalid parameter
577 * @retval #MAPS_ERROR_NOT_SUPPORTED Not supported
578 * @pre @a view is created using maps_view_create().
579 * @see maps_view_create()
580 * @see maps_view_set_buildings_enabled()
581 * @see maps_service_provider_is_data_supported()
583 int maps_view_get_buildings_enabled(const maps_view_h view, bool *enable);
587 * @brief Indicates whether the map should show the traffic layer.
588 * @details This function is called to indicate whether traffic conditions should be shown as a layer on the map.
589 * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
591 * @privilege %http://tizen.org/privilege/mapservice \n
592 * %http://tizen.org/privilege/internet \n
593 * %http://tizen.org/privilege/network.get
594 * @remarks To check if Maps Provider is capable of drawing traffic conditions,
595 * use maps_service_provider_is_data_supported() with
596 * #MAPS_VIEW_TRAFFIC passed as a service data parameter.
597 * @param[in] view The view handle
598 * @param[in] enable The enable status
599 * @return @c 0 on success,
600 * otherwise a negative error value
601 * @retval #MAPS_ERROR_NONE Successful
602 * @retval #MAPS_ERROR_INVALID_PARAMETER Invalid parameter
603 * @retval #MAPS_ERROR_PERMISSION_DENIED Permission Denied
604 * @retval #MAPS_ERROR_CONNECTION_TIME_OUT Timeout error, no answer
605 * @retval #MAPS_ERROR_NETWORK_UNREACHABLE Network unavailable
606 * @retval #MAPS_ERROR_NOT_SUPPORTED Not supported
607 * @pre @a view is created using maps_view_create().
608 * @see maps_view_create()
609 * @see maps_view_get_traffic_enabled()
610 * @see maps_service_provider_is_data_supported()
612 int maps_view_set_traffic_enabled(maps_view_h view, bool enable);
616 * @brief Queries whether the map has the traffic layer enabled.
617 * @details This function checks whether the map is set to show the traffic layer.
618 * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
619 * @param[in] view The view handle
620 * @param[out] enable The pointer to a boolean in which to store the enable status
621 * @return @c 0 on success,
622 * otherwise a negative error value
623 * @retval #MAPS_ERROR_NONE Successful
624 * @retval #MAPS_ERROR_INVALID_PARAMETER Invalid parameter
625 * @retval #MAPS_ERROR_NOT_SUPPORTED Not supported
626 * @pre @a view is created using maps_view_create().
627 * @see maps_view_create()
628 * @see maps_view_set_traffic_enabled()
629 * @see maps_service_provider_is_data_supported()
631 int maps_view_get_traffic_enabled(const maps_view_h view, bool *enable);
635 * @brief Indicates whether the map should show the public transit layer.
636 * @details This function is called to indicate whether public transit routes should be shown as a layer on the map.
637 * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
639 * @privilege %http://tizen.org/privilege/mapservice \n
640 * %http://tizen.org/privilege/internet \n
641 * %http://tizen.org/privilege/network.get
642 * @remarks To check if Maps Provider is capable of drawing public transit routes,
643 * use maps_service_provider_is_data_supported() with
644 * #MAPS_VIEW_PUBLIC_TRANSIT passed as a service data parameter.
645 * @param[in] view The view handle
646 * @param[in] enable The enable status
647 * @return @c 0 on success,
648 * otherwise a negative error value
649 * @retval #MAPS_ERROR_NONE Successful
650 * @retval #MAPS_ERROR_INVALID_PARAMETER Invalid parameter
651 * @retval #MAPS_ERROR_PERMISSION_DENIED Permission Denied
652 * @retval #MAPS_ERROR_CONNECTION_TIME_OUT Timeout error, no answer
653 * @retval #MAPS_ERROR_NETWORK_UNREACHABLE Network unavailable
654 * @retval #MAPS_ERROR_NOT_SUPPORTED Not supported
655 * @pre @a view is created using maps_view_create().
656 * @see maps_view_create()
657 * @see maps_view_get_public_transit_enabled()
658 * @see maps_service_provider_is_data_supported()
660 int maps_view_set_public_transit_enabled(maps_view_h view, bool enable);
664 * @brief Queries whether the map has the public transit layer enabled.
665 * @details This function checks whether the map is set to show the public transit routes layer.
666 * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
667 * @param[in] view The view handle
668 * @param[out] enable The pointer to a boolean in which to store the enable status
669 * @return @c 0 on success,
670 * otherwise a negative error value
671 * @retval #MAPS_ERROR_NONE Successful
672 * @retval #MAPS_ERROR_INVALID_PARAMETER Invalid parameter
673 * @retval #MAPS_ERROR_NOT_SUPPORTED Not supported
674 * @pre @a view is created using maps_view_create().
675 * @see maps_view_create()
676 * @see maps_view_set_public_transit_enabled()
677 * @see maps_service_provider_is_data_supported()
679 int maps_view_get_public_transit_enabled(const maps_view_h view, bool *enable);
683 * @brief Sets View language.
684 * @details This function sets the language to the given View.\n
685 * Note that map display language is different from places and route language.
686 * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
688 * @privilege %http://tizen.org/privilege/mapservice \n
689 * %http://tizen.org/privilege/internet \n
690 * %http://tizen.org/privilege/network.get
691 * @remarks If specific language wasn't set explicitly or map tile doesn't
692 * support the requested language, the default language of your Maps Provider is used.\n
693 * In general, Map Provider set the default language as the mother tongue of the country or English.
694 * @param[in] view The view handle
695 * @param[in] language The display language in the map.
696 * A language is specified as an ISO 3166 alpha-2 two letter country-code
697 * followed by ISO 639-1 for the two-letter language code.
698 * Each language tag is composed of one or more "subtags" separated by hyphens (-).
699 * Each subtag is composed of basic Latin letters or digits only.
700 * For example, "ko-KR" for Korean, "en-US" for American English
701 * @return @c 0 on success,
702 * otherwise a negative error value
703 * @retval #MAPS_ERROR_NONE Successful
704 * @retval #MAPS_ERROR_INVALID_PARAMETER Invalid parameter
705 * @retval #MAPS_ERROR_PERMISSION_DENIED Permission Denied
706 * @retval #MAPS_ERROR_CONNECTION_TIME_OUT Timeout error, no answer
707 * @retval #MAPS_ERROR_NETWORK_UNREACHABLE Network unavailable
708 * @retval #MAPS_ERROR_NOT_SUPPORTED Not supported
709 * @pre @a view is created using maps_view_create().
710 * @see maps_view_get_language()
711 * @see maps_view_set_type()
712 * @see maps_view_create()
714 int maps_view_set_language(maps_view_h view, const char *language);
718 * @brief Gets View language.
719 * @details This function gets the language set to the View.\n
720 * Note that map display language is different from places and route language.
721 * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
722 * @remarks The @a language should be freed using free().
723 * @param[in] view The view handle
724 * @param[out] language The pointer to a char* in which to store the language string value
725 * @return @c 0 on success,
726 * otherwise a negative error value
727 * @retval #MAPS_ERROR_NONE Successful
728 * @retval #MAPS_ERROR_OUT_OF_MEMORY Out of memory
729 * @retval #MAPS_ERROR_INVALID_PARAMETER Invalid parameter
730 * @retval #MAPS_ERROR_NOT_SUPPORTED Not supported
731 * @pre @a view is created using maps_view_create().
732 * @see maps_view_set_language()
733 * @see maps_view_get_type()
734 * @see maps_view_create()
736 int maps_view_get_language(const maps_view_h view, char **language);
740 * @brief Enables or disables scalebar.
741 * @details This function enables or disables scalebar.
742 * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
744 * @privilege %http://tizen.org/privilege/mapservice \n
745 * %http://tizen.org/privilege/internet \n
746 * %http://tizen.org/privilege/network.get
747 * @param[in] view The view handle
748 * @param[in] enable The enable status
749 * @return @c 0 on success,
750 * otherwise a negative error value
751 * @retval #MAPS_ERROR_NONE Successful
752 * @retval #MAPS_ERROR_INVALID_PARAMETER Invalid parameter
753 * @retval #MAPS_ERROR_PERMISSION_DENIED Permission Denied
754 * @retval #MAPS_ERROR_CONNECTION_TIME_OUT Timeout error, no answer
755 * @retval #MAPS_ERROR_NETWORK_UNREACHABLE Network unavailable
756 * @retval #MAPS_ERROR_NOT_SUPPORTED Not supported
757 * @pre @a view is created using maps_view_create().
758 * @see maps_view_create()
759 * @see maps_view_get_scalebar_enabled()
761 int maps_view_set_scalebar_enabled(maps_view_h view, bool enable);
765 * @brief Gets whether the scalebar is enabled or not.
766 * @details This function gets whether the scalebar is enabled or not.
767 * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
768 * @param[in] view The view handle
769 * @param[out] enabled The pointer to a boolean in which to store the enable status
770 * @return @c 0 on success,
771 * otherwise a negative error value
772 * @retval #MAPS_ERROR_NONE Successful
773 * @retval #MAPS_ERROR_INVALID_PARAMETER Invalid parameter
774 * @retval #MAPS_ERROR_NOT_SUPPORTED Not supported
775 * @pre @a view is created using maps_view_create().
776 * @see maps_view_create()
777 * @see maps_view_set_scalebar_enabled()
779 int maps_view_get_scalebar_enabled(const maps_view_h view, bool *enabled);
782 /* --------------------MAPS PANEL MANIPULATIONS-------------------------------*/
786 * @brief Gets the View port.
787 * @details This function gets the View port as a pointer on Evas_Object.
788 * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
789 * @param[in] view The view handle
790 * @param[out] viewport The pointer to Evas_Object in which to store the View port
791 * @return @c 0 on success,
792 * otherwise a negative error value
793 * @retval #MAPS_ERROR_NONE Successful
794 * @retval #MAPS_ERROR_INVALID_PARAMETER Invalid parameter
795 * @retval #MAPS_ERROR_NOT_SUPPORTED Not supported
796 * @pre @a view is created using maps_view_create().
797 * @see maps_view_create()
800 int maps_view_get_viewport(const maps_view_h view, Evas_Object **viewport);
804 * @brief Sets geometry of View port.
805 * @details This function set the position and (rectangular) size of the given View.\n
806 * The position, naturally, will be relative to the top left corner of the parent window.
807 * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
809 * @privilege %http://tizen.org/privilege/mapservice \n
810 * %http://tizen.org/privilege/internet \n
811 * %http://tizen.org/privilege/network.get
812 * @param[in] view The view handle
813 * @param[in] x X screen coordinate for the top left corner of View
814 * @param[in] y Y screen coordinate for the top left corner of View
815 * @param[in] width The new width of View in screen units
816 * @param[in] height The new height of View in screen units
817 * @return @c 0 on success,
818 * otherwise a negative error value
819 * @retval #MAPS_ERROR_NONE Successful
820 * @retval #MAPS_ERROR_INVALID_PARAMETER Invalid parameter
821 * @retval #MAPS_ERROR_PERMISSION_DENIED Permission Denied
822 * @retval #MAPS_ERROR_CONNECTION_TIME_OUT Timeout error, no answer
823 * @retval #MAPS_ERROR_NETWORK_UNREACHABLE Network unavailable
824 * @retval #MAPS_ERROR_NOT_SUPPORTED Not supported
825 * @pre @a view is created using maps_view_create().
826 * @see maps_view_get_screen_location()
827 * @see maps_view_resize()
828 * @see maps_view_set_visibility()
829 * @see maps_view_create()
831 int maps_view_set_screen_location(maps_view_h view, int x, int y, int width, int height);
835 * @brief Gets geometry of View port.
836 * @details This function retrieves the position and (rectangular) size of the given View.\n
837 * The position, naturally, will be relative to the top left corner of the parent window.
838 * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
839 * @remarks Use NULL pointers on the geometry components you're not interested in.
840 * @param[in] view The view handle
841 * @param[out] x X screen coordinate for the top left corner of View
842 * @param[out] y Y screen coordinate for the left top corner of View
843 * @param[out] width The pointer to an integer in which to store the width of the view
844 * @param[out] height The pointer to an integer in which to store the height of the view
845 * @return @c 0 on success,
846 * otherwise a negative error value
847 * @retval #MAPS_ERROR_NONE Successful
848 * @retval #MAPS_ERROR_INVALID_PARAMETER Invalid parameter
849 * @retval #MAPS_ERROR_NOT_SUPPORTED Not supported
850 * @pre @a view is created using maps_view_create().
851 * @see maps_view_set_screen_location()
852 * @see maps_view_resize()
853 * @see maps_view_get_visibility()
854 * @see maps_view_create()
856 int maps_view_get_screen_location(const maps_view_h view, int *x, int *y, int *width, int *height);
860 * @brief Moves the View.
861 * @details This function moves View.
862 * @remarks Newly created View port has the size of its parent.
863 * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
864 * @param[in] view The view handle
865 * @param[in] x The new x position, in screen units
866 * @param[in] y The new y position, in screen units
867 * @return @c 0 on success,
868 * otherwise a negative error value
869 * @retval #MAPS_ERROR_NONE Successful
870 * @retval #MAPS_ERROR_INVALID_PARAMETER Invalid parameter
871 * @retval #MAPS_ERROR_NOT_SUPPORTED Not supported
872 * @pre @a view is created using maps_view_create().
873 * @see maps_view_set_screen_location()
874 * @see maps_view_get_screen_location()
875 * @see maps_view_set_visibility()
876 * @see maps_view_create()
878 int maps_view_move(maps_view_h view, int x, int y);
882 * @brief Resizes the View.
883 * @details This function changes the size of the given View.
884 * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
885 * @remarks Newly created View port has the size of its parent.
887 * @privilege %http://tizen.org/privilege/mapservice \n
888 * %http://tizen.org/privilege/internet \n
889 * %http://tizen.org/privilege/network.get
890 * @param[in] view The view handle
891 * @param[in] width The new new width in screen units
892 * @param[in] height The new new height in screen units
893 * @return @c 0 on success,
894 * otherwise a negative error value
895 * @retval #MAPS_ERROR_NONE Successful
896 * @retval #MAPS_ERROR_INVALID_PARAMETER Invalid parameter
897 * @retval #MAPS_ERROR_PERMISSION_DENIED Permission Denied
898 * @retval #MAPS_ERROR_CONNECTION_TIME_OUT Timeout error, no answer
899 * @retval #MAPS_ERROR_NETWORK_UNREACHABLE Network unavailable
900 * @retval #MAPS_ERROR_NOT_SUPPORTED Not supported
901 * @pre @a view is created using maps_view_create().
902 * @see maps_view_set_screen_location()
903 * @see maps_view_get_screen_location()
904 * @see maps_view_set_visibility()
905 * @see maps_view_create()
907 int maps_view_resize(maps_view_h view, int width, int height);
911 * @brief Shows or hides the View.
912 * @details This function changes the visibility of View on the screen.
913 * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
914 * @param[in] view The view handle
915 * @param[in] visible The new visibility of the View
916 * @return @c 0 on success,
917 * otherwise a negative error value
918 * @retval #MAPS_ERROR_NONE Successful
919 * @retval #MAPS_ERROR_INVALID_PARAMETER Invalid parameter
920 * @retval #MAPS_ERROR_NOT_SUPPORTED Not supported
921 * @pre @a view is created using maps_view_create().
922 * @see maps_view_get_visibility()
923 * @see maps_view_set_screen_location()
924 * @see maps_view_create()
926 int maps_view_set_visibility(maps_view_h view, bool visible);
930 * @brief Gets the View visibility.
931 * @details This function retrieves whether or not the given View is visible.
932 * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
933 * @param[in] view The view handle
934 * @param[out] visible The pointer to a boolean in which to store the visibility of the View
935 * @return @c 0 on success,
936 * otherwise a negative error value
937 * @retval #MAPS_ERROR_NONE Successful
938 * @retval #MAPS_ERROR_INVALID_PARAMETER Invalid parameter
939 * @retval #MAPS_ERROR_NOT_SUPPORTED Not supported
940 * @pre @a view is created using maps_view_create().
941 * @see maps_view_set_visibility()
942 * @see maps_view_set_screen_location()
943 * @see maps_view_create()
945 int maps_view_get_visibility(const maps_view_h view, bool *visible);
948 /* ---------------------UI CONTROL------------------------------------------*/
952 * @brief Sets the event callback.
953 * @details This function sets the callback which will be invoked every time the
954 * View processes the user's gesture, action, and objects over the map.
955 * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
956 * @remarks To unregister the callback, use maps_view_unset_event_cb().
957 * @param[in] view The view handle
958 * @param[in] type The event type
959 * @param[in] callback The callback, matching the maps_view_on_event_cb() prototype
960 * @param[in] user_data The user data pointer to be passed to the callback
961 * @return @c 0 on success,
962 * otherwise a negative error value
963 * @retval #MAPS_ERROR_NONE Successful
964 * @retval #MAPS_ERROR_INVALID_PARAMETER Invalid parameter
965 * @retval #MAPS_ERROR_NOT_SUPPORTED Not supported
966 * @pre @a view is created using maps_view_create().
967 * @see maps_view_unset_event_cb()
968 * @see maps_view_on_event_cb()
969 * @see maps_view_set_gesture_enabled()
970 * @see maps_view_create()
972 int maps_view_set_event_cb(maps_view_h view, maps_view_event_type_e type, maps_view_on_event_cb callback, void *user_data);
976 * @brief Unsets the event callback.
977 * @details This function unsets the event callback.
978 * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
979 * @param[in] view The view handle
980 * @param[in] type The event type
981 * @return @c 0 on success,
982 * otherwise a negative error value
983 * @retval #MAPS_ERROR_NONE Successful
984 * @retval #MAPS_ERROR_INVALID_PARAMETER Invalid parameter
985 * @retval #MAPS_ERROR_NOT_SUPPORTED Not supported
986 * @pre @a view is created using maps_view_create().
987 * @pre the event callback is registered using maps_view_set_event_cb()
988 * @see maps_view_set_event_cb()
989 * @see maps_view_get_gesture_enabled()
990 * @see maps_view_create()
992 int maps_view_unset_event_cb(maps_view_h view, maps_view_event_type_e type);
996 * @brief Enables or disables the map gesture.
997 * @details This function enables or disables the map gesture.
998 * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
999 * @param[in] view The view handle
1000 * @param[in] gesture The user gesture, one listed in #maps_view_gesture_e
1001 * @param[in] enabled The enable status
1002 * @return @c 0 on success,
1003 * otherwise a negative error value
1004 * @retval #MAPS_ERROR_NONE Successful
1005 * @retval #MAPS_ERROR_INVALID_PARAMETER Invalid parameter
1006 * @retval #MAPS_ERROR_NOT_SUPPORTED Not supported
1007 * @pre @a view is created using maps_view_create().
1008 * @see #maps_view_gesture_e
1009 * @see maps_view_get_gesture_enabled()
1010 * @see maps_view_create()
1012 int maps_view_set_gesture_enabled(maps_view_h view, maps_view_gesture_e gesture, bool enabled);
1016 * @brief Checks whether the map gesture is enabled or not.
1017 * @details This function checks whether the map gesture is enabled or not.
1018 * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
1019 * @param[in] view The view handle
1020 * @param[in] gesture The user gesture, one of listed in #maps_view_gesture_e
1021 * @param[out] enabled The pointer to a boolean in which to store the enable status
1022 * @return @c 0 on success,
1023 * otherwise a negative error value
1024 * @retval #MAPS_ERROR_NONE Successful
1025 * @retval #MAPS_ERROR_INVALID_PARAMETER Invalid parameter
1026 * @retval #MAPS_ERROR_NOT_SUPPORTED Not supported
1027 * @pre @a view is created using maps_view_create().
1028 * @pre @a enabled status set ad default or modified using
1029 * maps_view_set_gesture_enabled().
1030 * @see #maps_view_gesture_e
1031 * @see maps_view_set_gesture_enabled()
1032 * @see maps_view_create()
1034 int maps_view_get_gesture_enabled(const maps_view_h view, maps_view_gesture_e gesture, bool *enabled);
1037 /* ---------------------VISUAL OBJECTS ON THE MAP-----------------------------*/
1041 * @brief Adds a visual object on the map.
1042 * @details This function adds a visual object on the map.
1043 * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
1045 * @privilege %http://tizen.org/privilege/mapservice
1046 * @remarks The @a object handle will be released automatically when the view is destroyed in the maps_view_destroy().
1047 * @param[in] view The view handle
1048 * @param[in] object The handle of the object to add
1049 * @return @c 0 on success,
1050 * otherwise a negative error value
1051 * @retval #MAPS_ERROR_NONE Successful
1052 * @retval #MAPS_ERROR_INVALID_PARAMETER Invalid parameter
1053 * @retval #MAPS_ERROR_PERMISSION_DENIED Permission Denied
1054 * @retval #MAPS_ERROR_NOT_SUPPORTED Not supported
1055 * @pre @a view is created using maps_view_create().
1056 * @pre @a object is created using #maps_view_object_create_marker(),
1057 * maps_view_object_create_polygon(), maps_view_object_create_polyline() or
1058 * maps_view_object_create_group().
1059 * @see #maps_view_object_h
1060 * @see maps_view_object_create_marker()
1061 * @see maps_view_object_create_polygon()
1062 * @see maps_view_object_create_polyline()
1063 * @see maps_view_remove_object()
1064 * @see maps_view_remove_all_objects()
1065 * @see maps_view_create()
1067 int maps_view_add_object(maps_view_h view, maps_view_object_h object);
1071 * @brief Removes a visual object from the map.
1072 * @details This function removes a visual object from the map.
1073 * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
1075 * @privilege %http://tizen.org/privilege/mapservice
1076 * @remarks The @a object handle will be released automatically by the View.
1077 * @param[in] view The view handle
1078 * @param[in] object The object to remove
1079 * @return @c 0 on success,
1080 * otherwise a negative error value
1081 * @retval #MAPS_ERROR_NONE Successful
1082 * @retval #MAPS_ERROR_INVALID_PARAMETER Invalid parameter
1083 * @retval #MAPS_ERROR_PERMISSION_DENIED Permission Denied
1084 * @retval #MAPS_ERROR_NOT_SUPPORTED Not supported
1085 * @pre @a view is created using maps_view_create().
1086 * @pre @a object is added using maps_view_add_object().
1087 * @see maps_view_add_object()
1088 * @see maps_view_remove_all_objects()
1089 * @see #maps_view_object_h
1090 * @see maps_view_create()
1092 int maps_view_remove_object(maps_view_h view, maps_view_object_h object);
1096 * @brief Removes all visual objects from the map.
1097 * @details This function removes all visual object from the map.
1098 * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
1100 * @privilege %http://tizen.org/privilege/mapservice
1101 * @remarks All object handles will be released automatically by the View.
1102 * @param[in] view The view handle
1103 * @return @c 0 on success,
1104 * otherwise a negative error value
1105 * @retval #MAPS_ERROR_NONE Successful
1106 * @retval #MAPS_ERROR_INVALID_PARAMETER Invalid parameter
1107 * @retval #MAPS_ERROR_PERMISSION_DENIED Permission Denied
1108 * @retval #MAPS_ERROR_NOT_SUPPORTED Not supported
1109 * @pre @a view is created using maps_view_create().
1110 * @pre objects are added using maps_view_add_object().
1111 * @see #maps_view_object_h
1112 * @see maps_view_add_object()
1113 * @see maps_view_remove_all_objects()
1114 * @see maps_view_create()
1116 int maps_view_remove_all_objects(maps_view_h view);
1120 * @brief Retrieves all visual objects on the map.
1121 * @details This function retrieves all visual objects previously added to the map.
1122 * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
1123 * @remarks The objects will be delivered via maps_view_object_cb().
1124 * @param[in] view The view handle
1125 * @param[in] callback The callback function to invoke
1126 * @param[in] user_data The user data pointer to be passed to the callback function
1127 * @return @c 0 on success,
1128 * otherwise a negative error value
1129 * @retval #MAPS_ERROR_NONE Successful
1130 * @retval #MAPS_ERROR_INVALID_PARAMETER Invalid parameter
1131 * @retval #MAPS_ERROR_NOT_FOUND Result not found
1132 * @retval #MAPS_ERROR_NOT_SUPPORTED Not supported
1133 * @pre @a view is created using maps_view_create().
1134 * @pre objects are added using maps_view_add_object().
1135 * @post This function invokes maps_view_object_cb() repeatedly to retrieve each visual object.
1136 * @see #maps_view_object_h
1137 * @see maps_view_object_cb()
1138 * @see maps_view_add_object()
1139 * @see maps_view_remove_object()
1140 * @see maps_view_remove_all_objects()
1141 * @see maps_view_create()
1143 int maps_view_foreach_object(const maps_view_h view, maps_view_object_cb callback, void *user_data);
1156 #endif /* __MAPS_VIEW_H__*/