Python调用百度地图API返回模糊搜索地点
【摘要】 python通过百度地图API,获取所给地址的经纬度和地点模糊搜索,并将返回的点反选回地图点上第一步:申请百度地图AK创建你的第一个应用注意:这里的创建应用如果是PC浏览器应选择web端,而不是服务端根据页面模糊搜索所在城市的经纬度和名称,白名单不限制时设置英文状态下的*效果如图找到海量加载的HTML代码部分地图JS API示例 | 百度地图开放平台 (baidu.com)复制代码到指定页...
python通过百度地图API,获取所给地址的经纬度和地点模糊搜索,并将返回的点反选回地图点上
第一步:申请百度地图AK
创建你的第一个应用
注意:这里的创建应用如果是PC浏览器应选择web端,而不是服务端
根据页面模糊搜索所在城市的经纬度和名称,白名单不限制时设置英文状态下的*
效果如图
找到海量加载的HTML代码部分
地图JS API示例 | 百度地图开放平台 (baidu.com)
复制代码到指定页面
<!DOCTYPE HTML><html><head> <title>加载海量点</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no"> <style type="text/css"> html,body{ margin:0; width:100%; height:100%; background:#ffffff; } #map{ width:100%; height:100%; } #panel { position: absolute; top:30px; left:10px; z-index: 999; color: #fff; } #login{ position:absolute; width:300px; height:40px; left:50%; top:50%; margin:-40px 0 0 -150px; } #login input[type=password]{ width:200px; height:30px; padding:3px; line-height:30px; border:1px solid #000; } #login input[type=submit]{ width:80px; height:38px; display:inline-block; line-height:38px; }</style> <script type="text/javascript" src="//api.map.baidu.com/api?v=2.0&ak=您的密钥"></script> <script type="text/javascript" src="/jsdemo/data/points-sample-data.js"></script></head><body> <div id="map"></div> <script type="text/javascript"> var map = new BMap.Map("map", {}); // 创建Map实例 map.centerAndZoom(new BMap.Point(105.000, 38.000), 5); // 初始化地图,设置中心点坐标和地图级别 map.enableScrollWheelZoom(); //启用滚轮放大缩小 if (document.createElement('canvas').getContext) { // 判断当前浏览器是否支持绘制海量点 var points = []; // 添加海量点数据 for (var i = 0; i < data.data.length; i++) { points.push(new BMap.Point(data.data[i][0], data.data[i][1])); } var options = { size: BMAP_POINT_SIZE_SMALL, shape: BMAP_POINT_SHAPE_STAR, color: '#d340c3' } var pointCollection = new BMap.PointCollection(points, options); // 初始化PointCollection pointCollection.addEventListener('click', function (e) { alert('单击点的坐标为:' + e.point.lng + ',' + e.point.lat); // 监听点击事件 }); map.addOverlay(pointCollection); // 添加Overlay } else { alert('请在chrome、safari、IE8+以上浏览器查看本示例'); }</script></body></html>
替换掉自己的ak
编写后端代码,当输入地点和城市时调用百度地图搜索其地点和经纬度
简单的json字符串,获取自己想要的数据即可,完整代码请私信
如何让其反选显示在地图点上呢?
只需要拿到后端返回的模板语法里的list,然后遍历放入point,默认选择中心点显示为天安门即可
此demo不仅可以集成百度地图,更可以直接替换为其他api完整代码请私信,回复关键字python即可
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)