百度API获取位置范围内的周边服务
百度地图API是一套为开发者免费提供的基于百度地图的应用程序接口,包括JavaScript、iOS、Andriod、静态地图、Web服务等多种版本,提供基本地图、位置搜索、周边搜索、...
- <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=(百度API key,可免费申请)"></script>
- <style type="text/css">
- body,html,#allmap {
- width: 100%;
- height: 100%;
- overflow: hidden;
- margin: 0;
- }
- #allmap {
- margin-top: 35px;
- }
- #golist {
- display: none;
- }
- @media ( max-device-width : 780px) {
- #golist {
- display: block !important;
- }
- }
- .tuijian_listbox1 {
- position: fixed;
- background: #fff;
- height: 35px;
- top: 0px;
- left: 0px;
- width: 100%;
- }
- ul.tuijian_list2 li {
- width: 24%;
- height: 35px;
- float: left;
- text-align: center;
- line-height: 35px;
- }
- </style>
- <body>
- <div class="tuijian_listbox1">
- <ul class="tuijian_list2">
- <li val_class="景点">景点</li>
- <li val_class="住宿" style="border-left: solid 1px #e4e4e4;">住宿</li>
- <li val_class="农家乐" style="border-left: solid 1px #e4e4e4;">农家乐</li>
- <li val_class="小吃" style="border-left: solid 1px #e4e4e4;">特色小吃</li>
- </ul>
- </div>
- <div class="map" id="allmap"></div>
- <script type="text/javascript">
- var map;
- var bounds;
- var circle;
- var local;
- var lng='118.792255';
- var lat='32.047475';//指定位置的经度纬度可以到百度定位拾取系统去拿 http://api.map.baidu.com/lbsapi/getpoint/index.html
- var search= '景区';
- var MyMarker;
- // 百度地图API功能
- $(function(){
- map = new BMap.Map("allmap");
- GetLocation();
- var mPoint = new BMap.Point(lng,lat);
- var MyIcon = new BMap.Icon("标记箭头图标路径", new BMap.Size(18,28));
- MyMarker = new BMap.Marker(mPoint,{icon:MyIcon});
- map.enableScrollWheelZoom();
- map.centerAndZoom(mPoint,15);
- map.addOverlay(MyMarker);
- map.addEventListener("click", function(e){
- map.removeOverlay(MyMarker);
- mPoint = new BMap.Point(e.point.lng,e.point.lat);
- MyMarker = new BMap.Marker(mPoint,{icon:MyIcon});
- map.addOverlay(MyMarker);
- Search(search,mPoint);
- });
- $('.tuijian_list2 li').each(function(index) {
- $(this).click(function(){
- $(this).parents('.tuijian_list2').find('.tuijian_in').removeClass('tuijian_in');
- $(this).addClass("tuijian_in");
- search = $(this).attr('val_class');
- Search(search,mPoint);
- });
- });
- Search(search,mPoint);
- });
- /**
- * 得到圆的内接正方形bounds
- * @param {Point} centerPoi 圆形范围的圆心
- * @param {Number} r 圆形范围的半径
- * @return 无返回值
- */
- function getSquareBounds(centerPoi,r){
- var a = Math.sqrt(2) * r; //正方形边长
- var mPoi = getMecator(centerPoi);
- var x0 = mPoi.x, y0 = mPoi.y;
- var x1 = x0 + a / 2 , y1 = y0 + a / 2;//东北点
- var x2 = x0 - a / 2 , y2 = y0 - a / 2;//西南点
- var ne = getPoi(new BMap.Pixel(x1, y1)), sw = getPoi(new BMap.Pixel(x2, y2));
- return new BMap.Bounds(sw, ne);
- };
- //根据球面坐标获得平面坐标。
- function getMecator(poi){
- return map.getMapType().getProjection().lngLatToPoint(poi);
- };
- //根据平面坐标获得球面坐标。
- function getPoi(mecator){
- return map.getMapType().getProjection().pointToLngLat(mecator);
- };
- function Search(search,mPoint){
- map.clearOverlays();
- circle = new BMap.Circle(mPoint,1000,{stroke:"white",strokeWeight: 1 ,fillOpacity: 0.3, strokeOpacity: 0.3});
- map.addOverlay(circle);
- local = new BMap.LocalSearch(map, {renderOptions: {map: map, autoViewport: false}});
- bounds = getSquareBounds(circle.getCenter(),circle.getRadius());
- local.searchInBounds(search,bounds);
- map.addOverlay(MyMarker);
- /*
- map.centerAndZoom(mPoint, 16);
- var local = new BMap.LocalSearch(map, {
- renderOptions: {map: map, panel: "r-result"}
- });
- local.search(search);
- */
- };
- function GetLocation(){
- var geolocation = new BMap.Geolocation();
- geolocation.getCurrentPosition(function(r){
- if(this.getStatus() == BMAP_STATUS_SUCCESS){
- lng = r.point.lng;
- lat = r.point.lat;
- }else{
- alert('failed'+this.getStatus());
- }
- },{enableHighAccuracy: true}
- );
- };
- </script>
- </body>
- </html>
转载于:https://www.cnblogs.com/telwanggs/p/6484732.html
百度API获取位置范围内的周边服务相关推荐
- 百度地图Geolocation的getStatus状态值(百度API获取当前位置[经纬度])
//关于状态码 //BMAP_STATUS_SUCCESS 检索成功.对应数值"0". //BMAP_STATUS_CITY_LIST 城市列表.对应数值"1" ...
- 全球地区资料json 含中英文 经纬度_爬虫实战(三)使用百度API获取经纬度/地址...
点击上方"蓝字"关注我们百度API获取经纬度/地址Mar 28, 2020 本期介绍给定地址/经纬度,使用百度API来获取经纬度/地址. 本文约3k字,预计阅读18分钟. 本次是第 ...
- 【转】百度API获取城市名地名(附源码)
在做一个软件时,用到了定位功能.网上有很多关于google 的GPS定位,但网上关于google定位都没有用, 搜索下原因:(这里建议大家在中国就尽量不使用系统自带的定位) 因为Google的服务器不 ...
- 百度api获取经纬度以及经纬度的转换
vue根据百度api获取到自己所在位置的经纬度以及具体的位置名称 <group class="site" label-width="5.5em" labe ...
- vue使用百度地图获取位置信息
vue使用百度地图获取位置信息 最近再做H5页面,就一个单页面,进来的时候,要获取地理位置,上代码 1.使用srcipt不受同源策略的影响,来获取百度api 写在了一个bmap.js里面,onBMap ...
- 使用百度API获取地名坐标信息
使用百度API获取地名坐标信息 百度API使用前需要申请AK 申请地址:http://lbsyun.baidu.com/apiconsole/key 在这里,http://lbsyun.baidu.c ...
- 微信小程序使用百度api获取天气信息 —— 微信小程序教程系列(16)
之前已经介绍过,如何使用百度地图api来获取地理位置信息 微信小程序的百度地图获取地理位置 -- 微信小程序教程系列(15) 下面介绍使用百度api来获取天气信息. 1> 第一步:先到百度开放平 ...
- python 获取天气_Python实现从百度API获取天气的方法
本文实例讲述了Python实现从百度API获取天气的方法.分享给大家供大家参考.具体实现方法如下: __author__ = 'saint' import os import urllib.reque ...
- Android开发:基于原生API获取位置信息、卫星信号个数及参与定位的卫星个数
目录 概述 权限申请及开启GPS 调用原生API进行定位 获取设备收到的卫星信号个数 获取用于定位的卫星信号个数 成果图 概述 最近在做室内外无缝定位的相关demo,室外定位中,GNSS定位方法具有精 ...
最新文章
- KVM调整cpu和内存
- Mysql错误:服务名无效。 请键入 NET HELPMSG 2185 以获得更多的帮助。
- 《转载》POI导出excel日期格式
- python处理excel案例_python操作excel例子
- python finally语句里面出现异常_Python异常处理中的else和finally
- (四)为深度伪造预处理数据集
- c++描述将一个2进制数转化成10进制数(用到初始化栈,进栈,入栈)
- 线性回归和逻辑回归的区别_Spark实现线性回归与逻辑回归算法
- SDN的机遇与挑战 让宽带利用率与硬件不再是难题
- 拓端tecdat|R语言分段线性回归分析预测车辆的制动距离
- CSS 子元素铺满整个父元素、CSS + JQuery 实现遮罩层
- 订阅机票时要注意的几个教训
- 基于OpenCV及Python的数独问题识别与求解(一)图像预处理
- 如何使用AForge调用本机摄像头
- Linux-v10-01天-授课
- 四叉树与八叉树原理 / AABB OBB / 碰撞检测优化
- make: 对“all”无需做任何事
- 第十三届蓝桥杯省赛 JAVA A组 - 蜂巢
- Gentoo USE参数清单中文详解
- 怎样设置网页中的文字样式
热门文章
- (44)FPGA时序逻辑与组合逻辑(组合逻辑)
- stm32 hal 串口只可以接收到一包数据数据
- 【UCOSIII】一、任务创建、删除、挂起、恢复、任务管理
- magento 优化 php.ini,PHP.ini配置文件(中文) | Magento UI
- Linux 异步通知
- mysql 利用触发器(Trigger)让代码更简单
- [MFC] CDialog::DoModal()函数用法
- maven服务器项目,Maven项目搭建
- linux写文件操作同步,linux 可执行文件与写操作的同步问题(文件读写操作产生的锁机制)...
- 虚拟内存的作用、分页系统实现虚拟内存原理