diff options
| -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 |
