Browse Source

minimap: Add small circles for POI

Baptiste Jonglez 8 years ago
parent
commit
78f2365748
3 changed files with 9 additions and 0 deletions
  1. 1 0
      panorama/static/panorama/js/pano.js
  2. 7 0
      panorama/templates/panorama/view.html
  3. 1 0
      panorama/views.py

+ 1 - 0
panorama/static/panorama/js/pano.js

@@ -1279,6 +1279,7 @@ function load_map(){
 	var osm = new L.TileLayer(osmUrl, {attribution: osmAttrib});		
 	map.addLayer(osm);
         map.addLayer( markerClusters );
+        map.addLayer(pointsOfInterest);
 
 
 	L.marker([panorama_lat, panorama_lng]).addTo(map);

+ 7 - 0
panorama/templates/panorama/view.html

@@ -84,6 +84,13 @@
           allMarkers.push([{{ pano.latitude }}, {{ pano.longitude }}]);
       {% endfor %}
 
+      var pointsOfInterest = L.layerGroup();
+      {% for poi in poi_list %}
+          var options = {radius: 8, color: '#0f0', opacity: 0.5, fillOpacity: 0.25};
+          var marker = L.circleMarker([{{ poi.latitude }}, {{ poi.longitude }}], options);
+          pointsOfInterest.addLayer(marker);
+      {% endfor %}
+
       $( document ).ready(load_map);
     </script>
 {% endblock js %}

+ 1 - 0
panorama/views.py

@@ -45,6 +45,7 @@ class PanoramaView(CelutzLoginMixin, DetailView):
         context = super(PanoramaView, self).get_context_data(**kwargs)
         pano = context['panorama']
         context['panoramas'] = [p for p in Panorama.objects.all() if pano.great_circle_distance(p) <= settings.PANORAMA_MAX_DISTANCE]
+        context['poi_list'] = [poi for poi in ReferencePoint.objects.all() if not hasattr(poi, 'panorama') and pano.great_circle_distance(poi) <= settings.PANORAMA_MAX_DISTANCE]
         return context