Browse Source

Les points publics sont désormais affichés sur la carte de localisation, dans le formulaire

Jocelyn Delande 10 years ago
parent
commit
23c064e07d
3 changed files with 23 additions and 6 deletions
  1. 10 0
      assets/form.js
  2. 5 4
      backend.py
  3. 8 2
      views/wifi-form.tpl

+ 10 - 0
assets/form.js

@@ -31,6 +31,16 @@ $( document ).ready(function() {
         $('#longitude').val(m.lng);
     }
 
+	// Display tiny circles on existing public points
+	var GeoJsonPath = $('#map').data('json');
+    $.getJSON(GeoJsonPath, function(data){
+	    var featureLayer = L.geoJson(data, {
+		    pointToLayer: function (feature, latlng) {
+			    return L.circleMarker(latlng, {color: '#00B300'});
+		    }
+        }).addTo(map);
+    });
+
     // Search sub form
     $('#search-btn').click(function(e){
         e.preventDefault();

+ 5 - 4
backend.py

@@ -65,6 +65,8 @@ DB_COLS = (
 ('date', 'TEXT'),
 )
 
+GEOJSON_NAME = 'public.json'
+
 @route('/')
 def home():
      redirect("/wifi-form")
@@ -72,7 +74,7 @@ def home():
 @route('/wifi-form')
 def show_wifi_form():
     return template('wifi-form', errors=None, data = FormsDict(),
-                    orientations=ORIENTATIONS)
+                    orientations=ORIENTATIONS, geojson=GEOJSON_NAME)
 
 def create_tabble(db, name, columns):
     col_defs = ','.join(['{} {}'.format(*i) for i in columns])
@@ -145,7 +147,7 @@ def submit_wifi_form():
 
     if errors:
         return template('wifi-form', errors=errors, data=request.forms,
-                        orientations=ORIENTATIONS)
+                        orientations=ORIENTATIONS, geojson=GEOJSON_NAME)
     else:
         d = request.forms
         save_to_db(DB, {
@@ -199,8 +201,7 @@ Results Map
 
 @route('/map')
 def public_map():
-    geojsonPath = 'public.json'
-    return template('map', geojson=geojsonPath)
+    return template('map', geojson=GEOJSON_NAME)
 
 @route('/public.json')
 def public_geojson():

+ 8 - 2
views/wifi-form.tpl

@@ -143,7 +143,7 @@ pourraient-être intéressantes.
 
     <div class="row">
       <div class="col-sm-6">
-        <div id="map"></div>
+        <div id="map" data-json="{{geojson}}"></div>
       </div>
       <div class="form-group col-sm-6">
         <div class="form-group form-group-lg form-inline">
@@ -152,7 +152,13 @@ pourraient-être intéressantes.
           <span id="search-btn" class="btn btn-default btn-lg" data-loading-text="...">Recherche</span>
 
           <div id="search-results" class=""></div>
-          <p class="help-block">Déplacer le marqueur pour pointer précisément le bâtiment au besoin</p>
+          <p class="help-block">Déplacer le marqueur bleu pour pointer précisément le bâtiment au besoin</p>
+          <p class="help-block">
+            Les ronds verts sont ceux renseignés par d'autres utilisateurs, vous
+            pouvez aussi consulter <a href="map" target="_blank">la carte
+            publique plus détaillée</a>.
+          </p>
+
         </div>
         <input name="latitude" value="{{data.get('latitude', '')}}"
                type="hidden" id="latitude" />