百度地图之上多图层可标点用python flask实例以及运行展示
时间: 2023-06-24 09:09:10 浏览: 137
在Python Flask中使用百度地图可以使用百度地图API,通过引入JavaScript文件来实现多图层标点。下面是一个简单的实例:
1. 首先,在你的Flask项目中创建一个静态文件夹,比如“static”,并在其中创建一个“js”文件夹,用于存放百度地图API的JavaScript文件。
2. 在“js”文件夹下,下载并保存百度地图API的JavaScript文件。可以从[官方网站](https://lbsyun.baidu.com/index.php?title=jspopular3.0/guide/getscript)下载文件,选择“地图API” → “JavaScript API” → “下载”即可。
3. 在Flask的路由中,编写返回HTML页面的函数,并在其中引入百度地图API的JavaScript文件。
```python
from flask import Flask, render_template
app = Flask(__name__)
@app.route('/')
def index():
return render_template('index.html')
if __name__ == '__main__':
app.run()
```
4. 创建一个模板文件“index.html”,在其中添加HTML和JavaScript代码,以实现多图层标点。
```HTML
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>百度地图</title>
<style type="text/css">
#map {
height: 500px;
width: 100%;
}
</style>
</head>
<body>
<div id="map"></div>
<script type="text/javascript" src="{{ url_for('static', filename='js/Bmap.js') }}"></script>
<script type="text/javascript">
// 创建地图实例
var map = new BMap.Map("map");
// 初始化地图,设置中心点坐标和地图级别
map.centerAndZoom(new BMap.Point(116.404, 39.915), 11);
// 添加地图类型控件
map.addControl(new BMap.MapTypeControl());
// 设置地图显示的城市 此项是必须设置的
map.setCurrentCity("北京");
// 开启鼠标滚轮缩放
map.enableScrollWheelZoom(true);
// 创建标注点数组
var markers = [
{ point: new BMap.Point(116.404, 39.915), title: "北京市" },
{ point: new BMap.Point(121.47, 31.23), title: "上海市" },
{ point: new BMap.Point(113.27, 23.13), title: "广州市" }
];
// 循环标注点数组,创建标注点并添加到地图上
for (var i = 0; i < markers.length; i++) {
var marker = new BMap.Marker(markers[i].point);
marker.setTitle(markers[i].title);
map.addOverlay(marker);
}
</script>
</body>
</html>
```
5. 运行Flask应用程序,并在浏览器中访问“http://localhost:5000”(假设你的Flask应用程序在本地运行,并监听端口5000)。
```python
if __name__ == '__main__':
app.run()
```
通过上述步骤,就可以在Flask应用程序中使用百度地图API实现多图层标点。