Django Web应用程序嵌入地图

时间:2015-10-30 16:43:57

标签: python django google-maps gis

我正在开展一个关于网页上显示地图的网络项目,但我没有相关的GIS工作经验,所以我对如何绘制地图有一些问题。

我们页面的基本功能是识别用户输入的文本中的位置,然后在地图中显示该位置。我们决定使用Django作为后端,因为它有一个Geodjango组件,我们需要Python的文本分析库。

然而,当我开始学习地图绘制部分时,我对这些API感到困惑:

我们可以单独使用谷歌地图api还是我还必须使用openlayers?我知道openlayers提供的界面和谷歌有地图数据,有什么重叠? 我是否需要将地图数据存储在文件或数据库中以使用openlayers? 我还发现Arcgis有javascript api,但我不知道它是否提供了数据。 我需要绘制自己的地图?

原谅可能无知的问题,我真的缺乏相关的知识。

有人可以向我解释这些API之间的关系以及哪种解决方案(资源)最适合我们的网络应用程序,以便我们在GIS工作中获得新手?...

1 个答案:

答案 0 :(得分:0)

我知道有很多与此相关的实施,但我只想分享我所做的。

你会先得到Lon& Lat的位置(可以按照您喜欢的方式保存),然后将其传递给您上下文中的模板:

context['gmap_coords'] = "%+f,%+f" % (lat, lon)

然后在您的模板中添加iframe作为地图的持有者,大致如下:

<p><iframe width="800" height="600" frameborder="0" scrolling="no"marginheight="0" marginwidth="0"></iframe></p>

然后我创建了一个填充iframe

的javascript
$(function() {
    var cords = '{{ gmap_coords }}';                                                                                                                                  
    var url = '//maps.google.com/maps?f=q&source=s_q&hl=en&geocode=&q=' + coords + '&aq=&ie=UTF8&z=14&output=embed';                            
    $('iframe').attr('src', url);                                                                                                               
});