Projet

Général

Profil

Map » Historique » Version 1

Julien Enselme, 04/04/2013 18:00

1 1 Julien Enselme
Par [[Utilisateur:LiNux ^^=!|LiNux ^^=!]], en suivant ce tutoriel [http://mapbox.com/put-your-content-map-25-minutes-geo-enabled-blog-using-drupal-mapbox-and-openlayers]<br \>
2 1 Julien Enselme
http://assos.centrale-marseille.fr/expat/map
3 1 Julien Enselme
4 1 Julien Enselme
{{toc}}
5 1 Julien Enselme
6 1 Julien Enselme
!https://forge.centrale-marseille.fr/attachments/download/8/Nivexpat.png!
7 1 Julien Enselme
8 1 Julien Enselme
h1. Modules à activer
9 1 Julien Enselme
10 1 Julien Enselme
* Chaos Tools
11 1 Julien Enselme
* Openlayers, OpenLayers UI, OpenLayers Views
12 1 Julien Enselme
* Geo taxonomy
13 1 Julien Enselme
* Views
14 1 Julien Enselme
15 1 Julien Enselme
h1. Associer vocabulaire et emplacement géographique
16 1 Julien Enselme
17 1 Julien Enselme
Les trucs entre parenthèse correspondent à des actions déjà effectuées sur le site avant d'implémenter cette méthode
18 1 Julien Enselme
* (créer un vocabulaire de taxonomie correspondant aux lieux ; l'associer au contenu de type blog)
19 1 Julien Enselme
* cocher "emplacement" dans les "paramètres" du vocabulaire
20 1 Julien Enselme
* (créer des termes de ce vocabulaire)
21 1 Julien Enselme
* pour chaque terme créé, dans "Emplacement", cliquer sur la carte à l'endroit auquel il correspond (ou entrer ses coordonées GPS)
22 1 Julien Enselme
23 1 Julien Enselme
h1. Création du "fond de carte"
24 1 Julien Enselme
25 1 Julien Enselme
* Dans administrer > construction du site > openlayers, onglet presets, puis onglet ajouter.
26 1 Julien Enselme
* Rentrer un nom (ici "blog_map"), un titre (ici "La carte des articles") et une description.
27 1 Julien Enselme
* Choisir la largeur et la hauteur de la carte
28 1 Julien Enselme
* L'onglet du dessous ("Center & Bounds") sert à définir le centre de la carte et le zoom par défaut ; il permet donc de choisir quelle région du monde on souhaite afficher.
29 1 Julien Enselme
* L'onglet du dessous ("behaviors") sera utilisé plus tard.
30 1 Julien Enselme
* Dans le dernier onglet ("Layers & Styles"), choisir le layers ( en gros, c'est l'image de fond). Je recommande les OSM (car OpenStreetMap, c'est bien, car c'est libre ^^). Cocher les deux cases pour le fond de carte de votre choix (ici, OSM Tiles@Home)
31 1 Julien Enselme
* Toujours dans cet onglet, il est possible de choisir le style de point utilisé sur la carte. Par exemple, pour des drapeaux, choisir "Embassy", pour des avions, "airport" (mais le plus simple est d'y revenir plus tard, lorsqu'on a déjà un aperçu du rendu final de la carte)
32 1 Julien Enselme
* Enregistrer
33 1 Julien Enselme
34 1 Julien Enselme
h1. Affichage de la carte
35 1 Julien Enselme
36 1 Julien Enselme
Il s'agit ici de configurer, avec le module Views, une vue adéquate.
37 1 Julien Enselme
38 1 Julien Enselme
Vu que je l'ai fait déjà deux fois, autant vous épargner ce travail ^^
39 1 Julien Enselme
40 1 Julien Enselme
Voici la procédure simplifiée :
41 1 Julien Enselme
* Dans admin > construction > Vues, cliquer sur "ajouter", puis "importer".
42 1 Julien Enselme
* Donner un petit nom à cette vue.
43 1 Julien Enselme
* puis copier le texte suivant dans le champ de texte en-dessous :
44 1 Julien Enselme
<pre>
45 1 Julien Enselme
<code class="php">
46 1 Julien Enselme
 $view = new view;
47 1 Julien Enselme
 $view->name = 'vue_map';
48 1 Julien Enselme
 $view->description = 'pour faire une carte';
49 1 Julien Enselme
 $view->tag = 'map_vues';
50 1 Julien Enselme
 $view->view_php = '';
51 1 Julien Enselme
 $view->base_table = 'term_data';
52 1 Julien Enselme
 $view->is_cacheable = FALSE;
53 1 Julien Enselme
 $view->api_version = 2;
54 1 Julien Enselme
 $view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */
55 1 Julien Enselme
 $handler = $view->new_display('default', 'Paramètres par défaut', 'default');
56 1 Julien Enselme
 $handler->override_option('fields', array(
57 1 Julien Enselme
   'node_count' => array(
58 1 Julien Enselme
     'id' => 'node_count',
59 1 Julien Enselme
     'table' => 'term_data',
60 1 Julien Enselme
     'field' => 'node_count',
61 1 Julien Enselme
   ),
62 1 Julien Enselme
   'name' => array(
63 1 Julien Enselme
     'label' => 'Terme',
64 1 Julien Enselme
     'alter' => array(
65 1 Julien Enselme
       'alter_text' => 0,
66 1 Julien Enselme
       'text' => '',
67 1 Julien Enselme
       'make_link' => 0,
68 1 Julien Enselme
       'path' => '',
69 1 Julien Enselme
       'link_class' => '',
70 1 Julien Enselme
       'alt' => '',
71 1 Julien Enselme
       'prefix' => '',
72 1 Julien Enselme
       'suffix' => '',
73 1 Julien Enselme
       'target' => '',
74 1 Julien Enselme
       'help' => '',
75 1 Julien Enselme
       'trim' => 0,
76 1 Julien Enselme
       'max_length' => '',
77 1 Julien Enselme
       'word_boundary' => 1,
78 1 Julien Enselme
       'ellipsis' => 1,
79 1 Julien Enselme
       'html' => 0,
80 1 Julien Enselme
       'strip_tags' => 0,
81 1 Julien Enselme
     ),
82 1 Julien Enselme
     'empty' => '',
83 1 Julien Enselme
     'hide_empty' => 0,
84 1 Julien Enselme
     'empty_zero' => 0,
85 1 Julien Enselme
     'link_to_taxonomy' => 1,
86 1 Julien Enselme
     'exclude' => 0,
87 1 Julien Enselme
     'id' => 'name',
88 1 Julien Enselme
     'table' => 'term_data',
89 1 Julien Enselme
     'field' => 'name',
90 1 Julien Enselme
     'override' => array(
91 1 Julien Enselme
       'button' => 'Supplanter',
92 1 Julien Enselme
     ),
93 1 Julien Enselme
     'relationship' => 'none',
94 1 Julien Enselme
   ),
95 1 Julien Enselme
   'lat' => array(
96 1 Julien Enselme
     'id' => 'lat',
97 1 Julien Enselme
     'table' => 'term_geo',
98 1 Julien Enselme
     'field' => 'lat',
99 1 Julien Enselme
   ),
100 1 Julien Enselme
   'lon' => array(
101 1 Julien Enselme
     'id' => 'lon',
102 1 Julien Enselme
     'table' => 'term_geo',
103 1 Julien Enselme
     'field' => 'lon',
104 1 Julien Enselme
   ),
105 1 Julien Enselme
 ));
106 1 Julien Enselme
 $handler->override_option('access', array(
107 1 Julien Enselme
   'type' => 'none',
108 1 Julien Enselme
 ));
109 1 Julien Enselme
 $handler->override_option('cache', array(
110 1 Julien Enselme
   'type' => 'none',
111 1 Julien Enselme
 ));
112 1 Julien Enselme
 $handler->override_option('items_per_page', 0);
113 1 Julien Enselme
 $handler->override_option('style_plugin', 'openlayers_map');
114 1 Julien Enselme
 $handler->override_option('style_options', array(
115 1 Julien Enselme
   'preset' => 'blog_maps',
116 1 Julien Enselme
 ));
117 1 Julien Enselme
 $handler = $view->new_display('openlayers', 'OpenLayers Data', 'openlayers_1');
118 1 Julien Enselme
 $handler->override_option('style_plugin', 'openlayers_data');
119 1 Julien Enselme
 $handler->override_option('style_options', array(
120 1 Julien Enselme
   'grouping' => '',
121 1 Julien Enselme
   'data_source' => array(
122 1 Julien Enselme
     'value' => 'other_latlon',
123 1 Julien Enselme
     'other_lat' => 'lat',
124 1 Julien Enselme
     'other_lon' => 'lon',
125 1 Julien Enselme
     'openlayers_wkt' => 'node_count',
126 1 Julien Enselme
     'other_top' => 'node_count',
127 1 Julien Enselme
     'other_right' => 'node_count',
128 1 Julien Enselme
     'other_bottom' => 'node_count',
129 1 Julien Enselme
     'other_left' => 'node_count',
130 1 Julien Enselme
     'name_field' => 'name',
131 1 Julien Enselme
     'description_field' => 'node_count',
132 1 Julien Enselme
   ),
133 1 Julien Enselme
 ));
134 1 Julien Enselme
 $handler->override_option('row_plugin', '');
135 1 Julien Enselme
 $handler->override_option('displays', array());
136 1 Julien Enselme
 $handler = $view->new_display('page', 'Page', 'page_1');
137 1 Julien Enselme
 $handler->override_option('path', 'map');
138 1 Julien Enselme
 $handler->override_option('menu', array(
139 1 Julien Enselme
   'type' => 'none',
140 1 Julien Enselme
   'title' => '',
141 1 Julien Enselme
   'description' => '',
142 1 Julien Enselme
   'weight' => 0,
143 1 Julien Enselme
   'name' => 'navigation',
144 1 Julien Enselme
 ));
145 1 Julien Enselme
 $handler->override_option('tab_options', array(
146 1 Julien Enselme
   'type' => 'none',
147 1 Julien Enselme
   'title' => '',
148 1 Julien Enselme
   'description' => '',
149 1 Julien Enselme
   'weight' => 0,
150 1 Julien Enselme
   'name' => 'navigation',
151 1 Julien Enselme
 ));
152 1 Julien Enselme
</code>
153 1 Julien Enselme
</pre>
154 1 Julien Enselme
155 1 Julien Enselme
156 1 Julien Enselme
h1. Dernières configurations
157 1 Julien Enselme
158 1 Julien Enselme
* Retour dans Construction du site > Openlayers, onglet preset. Modifier le preset précédemment créé.<br \>
159 1 Julien Enselme
Onglet "Layers & Styles", cocher les deux premières cases en face de OpenLayers Data (sous la liste des fonds de cartes)
160 1 Julien Enselme
* C'est le moment de régler l'onglet "Behavior", notamment en cochant la case Pop Up, puis le nom de la vue correspondante, juste en dessous.
161 1 Julien Enselme
* Si tout va bien, en allant sur monsite/map, la carte s'affiche !
162 1 Julien Enselme
163 1 Julien Enselme
h1. Retour sur la page du blog des expat
164 1 Julien Enselme
165 1 Julien Enselme
[[Blog des expat]]
166 1 Julien Enselme
167 1 Julien Enselme
[[Catégorie:Club Drupal]]