Gis 在传单地图上添加标记

Gis 在传单地图上添加标记,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

我对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(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变量。我有一个应用程序,它使用与此答案相同的语法代码,并且可以正常工作。它也存在于多个在线示例中。