1
# -*- coding: utf-8 -*-
2
from gi.repository import Clutter
3
from gi.repository import Champlain
4
from gi.repository import Pango
5
6
def marker_button_release_cb(actor, event, view):
7
    if event.button != 1 and event.click_count > 1:
8
        return False
9
10
    print "Montreal was clicked\n"
11
    return True
12
13
14
def create_marker_layer(view):
15
    orange = Clutter.Color.new(0xf3, 0x94, 0x07, 0xbb)
16
    layer = Champlain.MarkerLayer()
17
18
    marker = Champlain.Label.new_with_text(
19
        "Montréal\n<span size=\"xx-small\">Québec</span>", "Serif 14", None,
20
        orange)
21
    marker.set_use_markup(True)
22
    marker.set_alignment(Pango.Alignment.RIGHT)
23
    marker.set_color(orange)
24
25
    marker.set_location(45.528178, -73.563788)
26
    layer.add_marker(marker)
27
    marker.set_reactive(True)
28
    marker.connect("button-release-event", marker_button_release_cb, view)
29
30
    marker = Champlain.Label.new_from_file(
31
        "icons/emblem-generic.png")
32
    marker.set_text("New York")
33
    marker.set_location(40.77, -73.98)
34
    layer.add_marker(marker)
35
36
    marker = Champlain.Label.new_from_file(
37
        "icons/emblem-important.png")
38
    marker.set_location(47.130885, -70.764141)
39
    layer.add_marker(marker)
40
41
    marker = Champlain.Label.new_from_file(
42
        "icons/emblem-favorite.png")
43
    marker.set_draw_background(False)
44
    marker.set_location(45.41484, -71.918907)
45
    layer.add_marker(marker)
46
47
    marker = Champlain.Label.new_from_file(
48
        "icons/emblem-new.png")
49
    marker.set_draw_background(False)
50
    marker.set_location(50.639663, 5.570798)
51
    layer.add_marker(marker)
52
53
    layer.set_all_markers_draggable()
54
    layer.show()
55
    return layer