Commit 1e2d896e authored by Justin Bronn's avatar Justin Bronn
Browse files

[1.2.X] Fixed #15533 -- Now use 3857 as spherical mercator projection instead...

[1.2.X] 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.

Backport of r15845 from trunk.

git-svn-id: http://code.djangoproject.com/svn/django/branches/releases/1.2.X@15846 bcc190cf-cafb-0310-a4f2-bffc1f526a37
parent 1d628d7e
Loading
Loading
Loading
Loading
+8 −1
Original line number Diff line number Diff line
@@ -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://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
+1 −0
Original line number Diff line number Diff line
{# 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" }};