diff options
| author | Étienne Loks <etienne.loks@peacefrogs.net> | 2012-11-15 02:50:30 +0100 | 
|---|---|---|
| committer | Étienne Loks <etienne.loks@peacefrogs.net> | 2012-11-15 02:50:30 +0100 | 
| commit | 27d48170fbf6989c9c933ece82c378afc4ed3094 (patch) | |
| tree | 4f7761d385a8689245573a07648bcaff4bb894ac | |
| parent | f098ec09ef8b6a71372390705f10eae10399152a (diff) | |
| download | Chimère-27d48170fbf6989c9c933ece82c378afc4ed3094.tar.bz2 Chimère-27d48170fbf6989c9c933ece82c378afc4ed3094.zip | |
Add a template tags for a small OpenLayers map
| -rw-r--r-- | chimere/templates/chimere/blocks/ol_map.html | 19 | ||||
| -rw-r--r-- | chimere/templatetags/chimere_tags.py | 7 | 
2 files changed, 26 insertions, 0 deletions
| diff --git a/chimere/templates/chimere/blocks/ol_map.html b/chimere/templates/chimere/blocks/ol_map.html new file mode 100644 index 0000000..98743fa --- /dev/null +++ b/chimere/templates/chimere/blocks/ol_map.html @@ -0,0 +1,19 @@ +{% load unlocalize_point %} +<div id="{{map_id}}" style="height:250px"></div> +<script> + +    var lat = '{{geom.y|unlocalize_point}}'; +    var lon = '{{geom.x|unlocalize_point}}'; +    var zoom = 18; +    var fromProjection = new OpenLayers.Projection("EPSG:4326"); +    var toProjection = new OpenLayers.Projection("EPSG:900913"); +    var position = new OpenLayers.LonLat(lon, lat).transform(fromProjection, +                                                             toProjection); +    {{map_id}} = new OpenLayers.Map("{{map_id}}"); +    {{map_id}}.addLayer(new OpenLayers.Layer.OSM()); + +    var {{map_id}}markers = new OpenLayers.Layer.Markers( "Markers" ); +    {{map_id}}.addLayer({{map_id}}markers); +    {{map_id}}markers.addMarker(new OpenLayers.Marker(position)); +    {{map_id}}.setCenter(position, zoom); +</script> diff --git a/chimere/templatetags/chimere_tags.py b/chimere/templatetags/chimere_tags.py index 1258a3d..25e6122 100644 --- a/chimere/templatetags/chimere_tags.py +++ b/chimere/templatetags/chimere_tags.py @@ -10,6 +10,7 @@ from django.conf import settings  from django.core.exceptions import ObjectDoesNotExist  from django.core.urlresolvers import reverse  from django.db.models import Q, Count +from django.template.loader import render_to_string  from chimere.models import Marker, Area, News, SubCategory  from chimere.widgets import get_map_layers @@ -208,3 +209,9 @@ def get_tinyfied_url(marker, area_name=''):          return ""      url = marker.get_absolute_url(area_name)      return url + +@register.filter(name='ol_map') +def ol_map(geom, arg='map_id'): +    rendered = render_to_string('chimere/blocks/ol_map.html', {'geom': geom, +                                                               'map_id':arg}) +    return rendered | 
