diff options
| author | Justin Bronn <jbronn@gmail.com> | 2011-03-16 02:58:35 +0000 |
|---|---|---|
| committer | Justin Bronn <jbronn@gmail.com> | 2011-03-16 02:58:35 +0000 |
| commit | ebd5682989f5929bdfc645bcbd36f57d182be233 (patch) | |
| tree | 82b599d5bd54ffc0aa82f62f79c7cbc4fc563a04 | |
| parent | 10e1f5d1d29cb9561bdf6cdd90863048e2ed7973 (diff) | |
Fixed #15533 -- Now use 3857 as spherical mercator projection instead of deprecated 900913 on platforms that support it. Thanks to cnorthwood for bug report and Christopher Schmidt for OpenLayers JavaScript workaround.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@15845 bcc190cf-cafb-0310-a4f2-bffc1f526a37
| -rw-r--r-- | django/contrib/gis/admin/options.py | 9 | ||||
| -rw-r--r-- | django/contrib/gis/templates/gis/admin/openlayers.js | 1 |
2 files changed, 9 insertions, 1 deletions
diff --git a/django/contrib/gis/admin/options.py b/django/contrib/gis/admin/options.py index ae8fda5a29..8e1faf2374 100644 --- a/django/contrib/gis/admin/options.py +++ b/django/contrib/gis/admin/options.py @@ -113,11 +113,18 @@ class GeoModelAdmin(ModelAdmin): from django.contrib.gis import gdal if gdal.HAS_GDAL: + # Use the official spherical mercator projection SRID on versions + # of GDAL that support it; otherwise, fallback to 900913. + if gdal.GDAL_VERSION >= (1, 7): + spherical_mercator_srid = 3857 + else: + spherical_mercator_srid = 900913 + class OSMGeoAdmin(GeoModelAdmin): map_template = 'gis/admin/osm.html' extra_js = ['http://www.openstreetmap.org/openlayers/OpenStreetMap.js'] num_zoom = 20 - map_srid = 900913 + map_srid = spherical_mercator_srid max_extent = '-20037508,-20037508,20037508,20037508' max_resolution = '156543.0339' point_zoom = num_zoom - 6 diff --git a/django/contrib/gis/templates/gis/admin/openlayers.js b/django/contrib/gis/templates/gis/admin/openlayers.js index 4324693c78..c455bffd58 100644 --- a/django/contrib/gis/templates/gis/admin/openlayers.js +++ b/django/contrib/gis/templates/gis/admin/openlayers.js @@ -1,4 +1,5 @@ {# Author: Justin Bronn, Travis Pinney & Dane Springmeyer #} +OpenLayers.Projection.addTransform("EPSG:4326", "EPSG:3857", OpenLayers.Layer.SphericalMercator.projectForward); {% block vars %}var {{ module }} = {}; {{ module }}.map = null; {{ module }}.controls = null; {{ module }}.panel = null; {{ module }}.re = new RegExp("^SRID=\d+;(.+)", "i"); {{ module }}.layers = {}; {{ module }}.modifiable = {{ modifiable|yesno:"true,false" }}; |
