我正在开展一个关于网页上显示地图的网络项目,但我没有相关的GIS工作经验,所以我对如何绘制地图有一些问题。
我们页面的基本功能是识别用户输入的文本中的位置,然后在地图中显示该位置。我们决定使用Django作为后端,因为它有一个Geodjango组件,我们需要Python的文本分析库。
然而,当我开始学习地图绘制部分时,我对这些API感到困惑:
我们可以单独使用谷歌地图api还是我还必须使用openlayers?我知道openlayers提供的界面和谷歌有地图数据,有什么重叠? 我是否需要将地图数据存储在文件或数据库中以使用openlayers? 我还发现Arcgis有javascript api,但我不知道它是否提供了数据。 我需要绘制自己的地图?
原谅可能无知的问题,我真的缺乏相关的知识。
有人可以向我解释这些API之间的关系以及哪种解决方案(资源)最适合我们的网络应用程序,以便我们在GIS工作中获得新手?...
答案 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
:
$(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);
});