我是GIS和学习的新手,我开始使用GeoDjango构建一个简单的Web应用程序。我正在使用django-leaflet。由于我的知识非常有限,我面临着许多挑战。我正在尝试将特定标记放在我的地图上作为测试
models.py
from django.db import models
from django.contrib.gis.geos import point
from django.contrib.gis.db import models as gismodels
class Points(gismodels.Model):
data_lat = 44.915223
data_long = -93.209741
@property
def geom(self):
return point(self.data_lat, self.data_long, srid=4326)
def __unicode__(self):
return self.title
about.html
<body>
<h1> Map </h1>
{% leaflet_map "main" callback="main_map_init" %}
<script type="text/javascript">
function main_map_init (map, options){
var dataurl = '{% url "data" %}';
$.getJSON('dataurl', function(data) {
L.geoJson(data).addTo(map);
})
}
</script>
</body>
我遇到数据未传递到地图的问题。如果有人能指出我正确的方向,那就太好了。
答案 0 :(得分:1)
在about.html中,正确的代码是(假设数据将是动态创建的geojson的链接
var dataurl = '{% url "data" %}';
$.getJSON(dataurl, function(data) {
L.geoJson(data).addTo(map);
})
我建议您查看参考http://leafletjs.com/examples/geojson.html并尝试在html页面中手动创建地图以查看其工作原理,然后您可以使用Python动态添加内容。