通过某位置的经纬度获取周边百度地图POI的信息
来源:互联网 发布:linux arp命令 编辑:程序博客网 时间:2024/05/01 18:08
通过某位置的经纬度获取周边百度地图POI的信息:
<!DOCTYPE html><html><head> <meta charset="UTF-8"><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><title>根据地图上任意一点的经纬度获取周边最近的POI位置信息</title><script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=FB14a133b9bf40fec90d36c84fb4dd13"></script><script type="text/javascript" src="http://api.map.baidu.com/library/DistanceTool/1.2/src/DistanceTool_min.js"></script></head><body><input type="button" onclick="getPOI();" value="确定" /><div style="width:600px;height:340px;border:1px solid gray;" id="container"></div><div style="width:300px;height:340px;border:1px solid gray;border-left:0;" id="panel"></div></body></html><script type="text/javascript"> //启用滚轮缩放 var map= new BMap.Map("container"); var mPoint= new BMap.Point(104.0831760000, 30.6608250000); map.centerAndZoom(mPoint, 16);function getPOI(){ var ss=displayPOI(104.0831760000, 30.6608250000,1000);//根据需要自己传经纬度}var myGeo = new BMap.Geocoder(); function displayPOI(lng,lat,r){//参数:经lat、纬度lng、半径r var mOption = { poiRadius : r, //半径为r米内的POI, numPois : 1 //最多只有12个 系统决定的 } var ponits_=[];//经纬度和地址信息 myGeo.getLocation(mPoint, function mCallback(rs){ var allPois = rs.surroundingPois; //获取全部POI(半径R的范围 最多12个点) console.log(allPois); if(allPois==null || allPois==""){ return; } var disMile=[];//储存周围的点和指定点的距离 for(i=0;i<allPois.length;i++){//计算得到的POI坐标和指定坐标的距离 var pointA=new BMap.Point(allPois[i].point.lng,allPois[i].point.lat); disMile.push({'lng':allPois[i].point.lng,'lat':allPois[i].point.lat,'distance':map.getDistance(pointA, mPoint)}) ; } var result=arrBubble(disMile);//disMile进行升序排列后的数组 if(result!=null){ if(result.length>=3){//获取最多3个点 可以自己设定 但是最多就12个点 var k1=0;//去掉重复 var k2=0; var k3=0; for(var i=0;i<allPois.length;i++){ if(result[0].lng==allPois[i].point.lng && result[0].lat==allPois[i].point.lat && k1==0){ ponits_.push({'lng':result[0].lng,'lat':result[0].lat,'address':allPois[i].title}); k1++; }else if(result[1].lng==allPois[i].point.lng && result[1].lat==allPois[i].point.lat && k2==0){ ponits_.push({'lng':result[1].lng,'lat':result[1].lat,'address':allPois[i].title}); k2++; }else if(result[2].lng==allPois[i].point.lng && result[2].lat==allPois[i].point.lat && k3==0){ ponits_.push({'lng':result[2].lng,'lat':result[2].lat,'address':allPois[i].title}); k3++; } } }else if(result.length==2){ var k1=0; var k2=0; for(var i=0;i<allPois.length;i++){ if(result[0].lng==allPois[i].point.lng && result[0].lat==allPois[i].point.lat && k1==0){ ponits_.push({'lng':result[0].lng,'lat':result[0].lat,'address':allPois[i].title}); k1++; }else if(result[1].lng==allPois[i].point.lng && result[1].lat==allPois[i].point.lat && k2==0){ ponits_.push({'lng':result[1].lng,'lat':result[1].lat,'address':allPois[i].title}); k2++; } } }else if(result.length==1){ var k1=0; for(var i=0;i<allPois.length;i++){ if(result[0].lng==allPois[i].point.lng && result[0].lat==allPois[i].point.lat && k1==0){ ponits_.push({'lng':result[0].lng,'lat':result[0].lat,'address':allPois[i].title}); k1++; } } } } console.log(ponits_); if(ponits_!=null){//这里的points_包含了所需的经纬度和地址信息 具体操作自己设置 for(var i=0;i<ponits_.length;i++){ var pt=new BMap.Point(ponits_[i].lng,ponits_[i].lat); map.addOverlay(new BMap.Marker(pt)); } } },mOption ); }//排序function arrBubble(arr){ for(var i=0;i<arr.length;i++){ for(var j=0;j<arr.length-1;j++){ if(arr[j+1].distance<arr[j].distance){ var temp=arr[j]; arr[j]=arr[j+1]; arr[j+1]=temp; } } } return arr;}</script>
原文参考点击打开链接
阅读全文
0 0
- 通过某位置的经纬度获取周边百度地图POI的信息
- 百度地图,根据地图上任意一点的经纬度获取周边最近的POI位置信息
- 百度地图通过经纬度获取地址信息
- 百度地图通过经纬度获取地址信息
- 通过百度地图获取填写的地理位置经纬度
- 百度地图-实现POI的搜索(搜索周边)
- Android 百度地图-实现POI的搜索(搜索周边)
- Android 百度地图-实现POI的搜索(搜索周边)
- Android:百度地图-实现POI的搜索(搜索周边)
- Android 百度地图-实现POI的搜索(搜索周边)
- java后台百度地图经纬度和地址之间的相互转换(通过经纬度获取地址、通过地址获取经纬度)
- 获取百度地图上某点的经纬度信息(百度地图拾取坐标系统)
- C#的百度地图开发(三)依据坐标获取位置、商圈及周边信息
- 百度地图的周边搜索
- 百度地图--获取对角线的经纬度
- 百度地图:获取地址的经纬度
- Android 百度地图SDK 实现获取周边位置POI
- 百度地图的反地址解析(通过经纬度查询地址信息)
- 关于EXT JS 的所有组件
- Maven常用命令
- insert into select 中使用序号
- SpringMvc 浅析
- SELinux app权限配置
- 通过某位置的经纬度获取周边百度地图POI的信息
- 笔记:菜鸟教程-JavaScript
- python基础之函数
- 封装ajax-2
- 小学科学实验
- XML简介
- Spring bean 作用域
- C++:string类型与char*类型转换方法
- Python 元组(Tuple)操作详解