Gis 在传单地图上添加标记
我对GIS非常陌生,为了学习,我从使用GeoDjango构建一个简单的web应用开始。我用的是django传单。由于我的知识非常有限,我面临着许多挑战。我试图在地图上放置一个特定的标记作为测试 models.pyGis 在传单地图上添加标记,gis,openstreetmap,geojson,geodjango,Gis,Openstreetmap,Geojson,Geodjango,我对GIS非常陌生,为了学习,我从使用GeoDjango构建一个简单的web应用开始。我用的是django传单。由于我的知识非常有限,我面临着许多挑战。我试图在地图上放置一个特定的标记作为测试 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(gism
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
关于.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>
地图
{%ployate\u map“main”callback=“main\u map\u init”%}
函数主映射初始化(映射,选项){
var dataurl='{%url“数据”%}';
$.getJSON('dataurl',函数(数据){
L.geoJson(数据).addTo(地图);
})
}
我遇到了数据无法传递到地图的问题。如果有人能给我指出正确的方向,那就太好了。在about.html中,正确的代码是(假设数据是指向动态创建的geojson的链接)
var dataurl = '{% url "data" %}';
$.getJSON(dataurl, function(data) {
L.geoJson(data).addTo(map);
})
我建议您查看以供参考,并尝试在html页面中手动创建一个映射,以了解其工作原理,然后您可以使用Python动态添加内容。我的代码中有这一行。但它仍然不起作用。getJSON函数的第一个参数应该是JSON文件的有效url。如果有问题,请参阅浏览器的开发人员控制台一条错误消息。我的代码和你的代码的区别在于:你试图从同一个目录获取data.json,但似乎你希望数据来自dataurl变量。我有一个应用程序,它使用与此答案相同的语法代码,并且可以正常工作。它也存在于多个在线示例中。