Python调用百度地图API返回模糊搜索地点

举报
赵KK日常技术记录 发表于 2023/06/30 16:14:51 2023/06/30
【摘要】  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

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。