做个最简单的,地图服务用GeoServer发布;Django做后端转发服务请求,leaflet做前端渲染并实现绘制功能。
Python是python3.7,IDE是社区版pycharm。
GeoServer如何发布地图,并测试数据位置见视频教程与图文教程:
https://zhuanlan.zhihu.com/p/377826133
本例代码见git,如果觉得有用,辛苦帮忙点个star:
https://github.com/yimengyao13/geoserver_django_leaflet
视频教程见:
https://www.bilibili.com/video/bv1jw411o7Fw
一、新建Django工程
先确保安装了Django包。
用cmd命令新建工程:
C:\Users\username\AppData\Local\Programs\Python\Python37-32\Scripts\django-admin.py startproject geoserver_django_leaflet
用pycharm打开这个工程geoserver_django_leaflet,在Terminal中运行,python manage.py runserver 5000。
打开网址,127.0.0.1:5000/,如果出现如下界面,说明创建工程成功。
二、发布地图瓦片页面
我们已经知道,GeoServer发布的地图瓦片服务查看网址如下:
http://localhost:8080/geoserver/fangjia/wms?service=WMS&version=1.1.0&request=GetMap&layers=fangjia%3Acommunity_price&bbox=116.2740001637174%2C39.830580795313686%2C116.48989559371867%2C39.98926162440851&width=768&height=564&srs=EPSG%3A4326&styles=&format=application/openlayers
如果加上过滤条件的话,则如下:
在《GeoServer进阶:要素的增删改查》(https://zhuanlan.zhihu.com/p/381601300)中,我们也知道应该如何构造查询语句,接下来就看怎么在leaflet中实现了。