Django-geoms is a project mainly written in PYTHON and JAVASCRIPT, it's free.
GeoDjango: Tag content objects with geometries and use the geometries as their own content objects.
put 'points' into INSTALLED_APPS
add to context processors::
'points.context_processors.ol_media', 'points.context_processors.GAK',
Get http://code.google.com/apis/maps/signup.html a GOOGLE_MAPS_API key and add it to settings::
GOOGLE_API_KEY = ...
syncdb
add to your url patterns::
(r'^points/', include('points.urls')),
At the top of the template::
{% load point_tags %}
In head you could put::
{% include 'points/jqueryui_add_form.html' %} {% show_google_map model_instance "map-id" %}
In body, where you would like the link to the form widget to go::
{% add_point_link model_instance %}
Where you would like the map to go you might put::
For more information check docs/api.rst; there are many more options and tags.