繁体   English   中英

Django Web应用程序嵌入地图

[英]Django web app embedding maps

我正在一个有关在网页上显示地图的Web项目中,但是我在GIS相关工作中经验为零,因此我在绘制地图方面存在一些问题。

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

但是,当我学习地图绘制部分时,却对这些API感到困惑:

我们可以单独使用Google Maps API还是我也必须使用openlayers? 我知道openlayers提供了界面,而google具有了地图数据,有哪些重叠? 我需要将地图数据存储在文件或数据库中才能使用openlayers吗? 我还发现Arcgis具有javascript API,但我想知道它是否提供数据。 我需要绘制自己的地图吗?

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

有人可以向我解释这些API之间的关系以及哪种解决方案(资源)最适合我们的Web应用程序,这是GIS工作的新手。

我知道有很多与此相关的实现,但是我将分享我所做的事情。

您将首先获取位置的经纬度(可以按您喜欢的任何方式保存),然后将其传递到上下文中的模板:

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);                                                                                                               
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM