在传单地图上添加标记

时间:2014-08-04 18:49:13

标签: gis openstreetmap geojson geodjango

我是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>

我遇到数据未传递到地图的问题。如果有人能指出我正确的方向,那就太好了。

1 个答案:

答案 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动态添加内容。