Login

GoogleAdmin: GMaps base layer in Geographic Admin (GeoDjango)

Author:
jbronn
Posted:
October 15, 2008
Language:
Python
Version:
1.0
Tags:
gis google map gmaps layer openlayers
Score:
3 (after 3 ratings)

This GeoDjango subclass substitutes in the Google Maps base layer instead of the default one provided by Open Street Map. Requires the google.html and google.js templates (must be placed in gis/admin somewhere in your template path).

Requires a Google Maps API key -- please abide by Google's terms of service.

1
2
3
4
5
6
7
8
from django.contrib.gis import admin
from django.contrib.gis.maps.google import GoogleMap

GMAP = GoogleMap(key='abcdefg') # Can also set GOOGLE_MAPS_API_KEY in settings

class GoogleAdmin(admin.OSMGeoAdmin):
    extra_js = [GMAP.api_url + GMAP.key]
    map_template = 'gis/admin/google.html'

More like this

  1. google.html template for GoogleAdmin by jbronn 6 years, 6 months ago
  2. google.js template for GoogleAdmin by jbronn 6 years, 6 months ago
  3. template code for "Google v3 geocoding for Geodjango admin site" by samhag 2 years, 5 months ago
  4. MaxMind(R) GeoIP Lite geolocation models by jbronn 7 years, 9 months ago
  5. Google v3 geocoding for Geodjango admin site by samhag 2 years, 5 months ago

Comments

marxy (on August 4, 2009):

This works but unfortunately when I save I get a validation error "An error occurred when transforming the geometry to the SRID of the geometry form field".

In my case the Model contains a Point.

Any tips would be appreciated.

#

andriy (on June 29, 2012):

Can anyone help where to put this code (is it models.py)???

from django.contrib.gis import admin from django.contrib.gis.maps.google import GoogleMap

GMAP = GoogleMap(key='abcdefg') # Can also set GOOGLE_MAPS_API_KEY in settings

class GoogleAdmin(admin.OSMGeoAdmin): extra_js = [GMAP.api_url + GMAP.key] map_template = 'gis/admin/google.html'

#

andriy (on June 30, 2012):

Can anyone provide a more detailed description on how to enable Google Maps in admin site, I'm knew to Django

#

Please login first before commenting.