2015-05-07 11:33:14 -07:00
|
|
|
.. currentmodule:: efl.elementary
|
2013-02-19 01:53:30 -08:00
|
|
|
|
2015-05-07 11:33:14 -07:00
|
|
|
Map
|
|
|
|
###
|
|
|
|
|
|
|
|
.. image:: /images/map-preview.png
|
|
|
|
:width: 100%
|
|
|
|
|
|
|
|
|
|
|
|
Widget description
|
|
|
|
==================
|
|
|
|
|
|
|
|
The *Map* is a widget specifically for displaying a geographic map.
|
|
|
|
It uses `OpenStreetMap <http://www.openstreetmap.org/>`_ as map tile provider,
|
|
|
|
`YOURS <http://www.yournavigation.org/>`_ for routing calculation and
|
|
|
|
`Nominatim <http://nominatim.openstreetmap.org/>`_ to convert geographic
|
|
|
|
coordinates to/from address names. But custom providers can be added.
|
|
|
|
|
|
|
|
It supports some basic but yet nice features:
|
|
|
|
|
|
|
|
- zooming and scrolling
|
|
|
|
- markers with content to be displayed when user clicks over them
|
|
|
|
- automatic grouping of markers based on zoom level
|
|
|
|
- routes calculation
|
|
|
|
- names/coordinates conversion (and viceversa)
|
|
|
|
|
|
|
|
|
|
|
|
Emitted signals
|
|
|
|
===============
|
|
|
|
|
|
|
|
- ``clicked`` - Called when a user has clicked the map without dragging around.
|
|
|
|
- ``clicked,double`` - Called when a user has double-clicked the map.
|
|
|
|
- ``press`` - This is called when a user has pressed down on the map.
|
|
|
|
- ``longpressed`` - This is called when a user has pressed down on the map
|
|
|
|
for a long time without dragging around.
|
|
|
|
- ``scroll`` - the content has been scrolled (moved).
|
|
|
|
- ``scroll,drag,start`` - dragging the contents around has started.
|
|
|
|
- ``scroll,drag,stop`` - dragging the contents around has stopped.
|
|
|
|
- ``scroll,anim,start`` - scrolling animation has started.
|
|
|
|
- ``scroll,anim,stop`` - scrolling animation has stopped.
|
|
|
|
- ``zoom,start`` - Zoom animation started.
|
|
|
|
- ``zoom,stop`` - Zoom animation stopped.
|
|
|
|
- ``zoom,change`` - Zoom changed when using an auto zoom mode.
|
|
|
|
- ``tile,load`` - A map tile image load begins.
|
|
|
|
- ``tile,loaded`` - A map tile image load ends.
|
|
|
|
- ``tile,loaded,fail`` - A map tile image load fails.
|
|
|
|
- ``route,load`` - Route request begins.
|
|
|
|
- ``route,loaded`` - Route request ends.
|
|
|
|
- ``route,loaded,fail`` - Route request fails.
|
|
|
|
- ``name,load`` - Name request begins.
|
|
|
|
- ``name,loaded`` - Name request ends.
|
|
|
|
- ``name,loaded,fail`` - Name request fails.
|
|
|
|
- ``overlay,clicked`` - A overlay is clicked.
|
|
|
|
- ``loaded`` - when a map is finally loaded.
|
|
|
|
- ``language,changed`` - the program's language changed
|
|
|
|
- ``focused`` - When the map has received focus. (since 1.8)
|
|
|
|
- ``unfocused`` - When the map has lost focus. (since 1.8)
|
|
|
|
|
|
|
|
|
|
|
|
Scrollable Interface
|
|
|
|
====================
|
|
|
|
|
|
|
|
This widget supports the scrollable interface.
|
|
|
|
|
|
|
|
If you wish to control the scolling behaviour using these functions,
|
|
|
|
inherit both the widget class and the
|
|
|
|
:py:class:`Scrollable<efl.elementary.scroller.Scrollable>` class
|
|
|
|
using multiple inheritance, for example::
|
|
|
|
|
|
|
|
class ScrollableGenlist(Genlist, Scrollable):
|
|
|
|
def __init__(self, canvas, *args, **kwargs):
|
|
|
|
Genlist.__init__(self, canvas)
|
|
|
|
|
|
|
|
|
|
|
|
Enumerations
|
|
|
|
============
|
|
|
|
|
|
|
|
.. _Elm_Map_Overlay_Type:
|
|
|
|
|
|
|
|
Map overlay types
|
|
|
|
-----------------
|
|
|
|
|
|
|
|
.. data:: ELM_MAP_OVERLAY_TYPE_NONE
|
|
|
|
|
|
|
|
None
|
|
|
|
|
|
|
|
.. data:: ELM_MAP_OVERLAY_TYPE_DEFAULT
|
|
|
|
|
|
|
|
The default overlay type.
|
|
|
|
|
|
|
|
.. data:: ELM_MAP_OVERLAY_TYPE_CLASS
|
|
|
|
|
|
|
|
The Class overlay is used to group marker together.
|
|
|
|
|
|
|
|
.. data:: ELM_MAP_OVERLAY_TYPE_GROUP
|
|
|
|
|
|
|
|
A group of overlays.
|
|
|
|
|
|
|
|
.. data:: ELM_MAP_OVERLAY_TYPE_BUBBLE
|
|
|
|
|
|
|
|
This class can *follow* another overlay.
|
|
|
|
|
|
|
|
.. data:: ELM_MAP_OVERLAY_TYPE_ROUTE
|
|
|
|
|
|
|
|
This is used to draw a route result on the map.
|
|
|
|
|
|
|
|
.. data:: ELM_MAP_OVERLAY_TYPE_LINE
|
|
|
|
|
|
|
|
Simply draw a line on the map.
|
|
|
|
|
|
|
|
.. data:: ELM_MAP_OVERLAY_TYPE_POLYGON
|
|
|
|
|
|
|
|
Simply draw a polygon on the map.
|
|
|
|
|
|
|
|
.. data:: ELM_MAP_OVERLAY_TYPE_CIRCLE
|
|
|
|
|
|
|
|
Simply draw a circle on the map.
|
|
|
|
|
|
|
|
.. data:: ELM_MAP_OVERLAY_TYPE_SCALE
|
|
|
|
|
|
|
|
This will draw a dinamic scale on the map.
|
|
|
|
|
|
|
|
|
|
|
|
.. _Elm_Map_Route_Method:
|
|
|
|
|
|
|
|
Map route methods
|
|
|
|
-----------------
|
|
|
|
|
|
|
|
.. data:: ELM_MAP_ROUTE_METHOD_FASTEST
|
|
|
|
|
|
|
|
Route should prioritize time
|
|
|
|
|
|
|
|
.. data:: ELM_MAP_ROUTE_METHOD_SHORTEST
|
|
|
|
|
|
|
|
Route should prioritize distance
|
|
|
|
|
|
|
|
|
|
|
|
.. _Elm_Map_Route_Type:
|
|
|
|
|
|
|
|
Map route types
|
|
|
|
---------------
|
|
|
|
|
|
|
|
.. data:: ELM_MAP_ROUTE_TYPE_MOTOCAR
|
|
|
|
|
|
|
|
Route should consider an automobile will be used.
|
|
|
|
|
|
|
|
.. data:: ELM_MAP_ROUTE_TYPE_BICYCLE
|
|
|
|
|
|
|
|
Route should consider a bicycle will be used by the user.
|
|
|
|
|
|
|
|
.. data:: ELM_MAP_ROUTE_TYPE_FOOT
|
|
|
|
|
|
|
|
Route should consider user will be walking.
|
|
|
|
|
|
|
|
|
|
|
|
.. _Elm_Map_Source_Type:
|
|
|
|
|
|
|
|
Map source types
|
|
|
|
----------------
|
|
|
|
|
|
|
|
.. data:: ELM_MAP_SOURCE_TYPE_TILE
|
|
|
|
|
|
|
|
Map tile provider
|
|
|
|
|
|
|
|
.. data:: ELM_MAP_SOURCE_TYPE_ROUTE
|
|
|
|
|
|
|
|
Route service provider
|
|
|
|
|
|
|
|
.. data:: ELM_MAP_SOURCE_TYPE_NAME
|
|
|
|
|
|
|
|
Name service provider
|
|
|
|
|
|
|
|
|
|
|
|
.. _Elm_Map_Zoom_Mode:
|
|
|
|
|
|
|
|
Map zoom modes
|
|
|
|
--------------
|
|
|
|
|
|
|
|
.. data:: ELM_MAP_ZOOM_MODE_MANUAL
|
|
|
|
|
|
|
|
Zoom controlled manually by :py:attr:`~Map.zoom`
|
|
|
|
|
|
|
|
It's set by default.
|
|
|
|
|
|
|
|
.. data:: ELM_MAP_ZOOM_MODE_AUTO_FIT
|
|
|
|
|
|
|
|
Zoom until map fits inside the scroll frame with no pixels outside this
|
|
|
|
area.
|
|
|
|
|
|
|
|
.. data:: ELM_MAP_ZOOM_MODE_AUTO_FILL
|
|
|
|
|
|
|
|
Zoom until map fills scroll, ensuring no pixels are left unfilled.
|
|
|
|
|
|
|
|
|
|
|
|
Inheritance diagram
|
|
|
|
===================
|
|
|
|
|
|
|
|
.. inheritance-diagram:: Map
|
|
|
|
:parts: 2
|
|
|
|
|
|
|
|
|
|
|
|
.. autoclass:: Map
|