[英]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.