使用Django做WebGIS项目中关于高德JS API数据交互的一种思路
Django中引用高德JS API并实现数据库存放后台的一种思路
首先看下我做的页面主要功能
这里面两个功能,一个添加点,一个路径回放功能,需要一些点的数据,但是高德API的框架是必须将数据写在JS文件中,加上Django框架数据只能渲染到前端HTML页面中,并不能写到js中,实际开发中肯定是需要写在数据库中的,所以需要一点优化。
常用办法肯定是用AJAX获取数据渲染,但是这里有一点不同之处,通常AJAX获取数据后还是要渲染到html容器中,如下图:
尴尬的是,高德JS API的调用在html的位置并没有留下多余的容器,并且也与我们的需求不符,我们只是想在js中用,经过一番思考,我决定换种思路:
1.就用Django常用的方法渲染到html页面中,为了不影响页面美观,我们可以在style中添加 display:none;
2.再通过JS中的方法获取到这些值,直接在JS文件中当做全局变量使用
就可以实现功能了,当然,这种方法还需要优化,代码可以更简单,数组化成可识别的坐标是一件麻烦的事,因为通过getElementsByTagName获得的只是一个类数组,并不能直接使用,还有就是在JS使用多重循环的时候老师出现问题,希望大佬指教!
以上就是在用Django做WebGIS的一点心得,欢迎大家批评指正,如果有更好的AJAX方法,希望多多指导,感激不尽!