利用百度地图通过位置名称查询经纬度方法总结
这段时间公司做大数据统计,需要用到百度地图,并且需要将数据的点位(也就是数据对应的位置)通过经纬度来在地图上进行描点。但是不能单纯用一种方法进行描点,后台定时器也需要调用查看,下面我就简单介绍前后台两种调用百度接口的方法。
需要准备百度一个开发者key,如果没有可以去百度开发者中心申请key
百度开发者中心:http://developer.baidu.com
1 前端通过js调用百度接口方法获取数据
废话不多说,上我写的test代码
<!DOCTYPE html>
<html lang="en"> <head><title>根据地址查询经纬度</title><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><script src="http://api.map.baidu.com/api?v=2.0&ak=53oVIOgmSIejwV7EfphPgTynOZbIiVYu"></script>
</head><body style="background:#CBE1FF"><div style="width:1200px;margin:auto;">要查询的地址:<input id="text_" type="text" value="宁波天一广场" style="margin-right:100px;" /> 查询结果(经纬度):<input id="result_" type="text" /><input type="button" value="查询" onclick="searchByStationName();" /><div id="container" style="position: absolute;margin-top:30px; top:0;bottom:0;left:0;right:0;border: 1px solid gray;overflow:hidden;"></div></div>
</body>
<script type="text/javascript">
var map = new BMap.Map("container");
map.centerAndZoom("宁波", 12);
map.enableScrollWheelZoom(); //启用滚轮放大缩小,默认禁用
map.enableContinuousZoom(); //启用地图惯性拖拽,默认禁用map.addControl(new BMap.NavigationControl()); //添加默认缩放平移控件
map.addControl(new BMap.OverviewMapControl()); //添加默认缩略地图控件
map.addControl(new BMap.OverviewMapControl({isOpen: true,anchor: BMAP_ANCHOR_BOTTOM_RIGHT
})); //右下角,打开var localSearch = new BMap.LocalSearch(map);
localSearch.enableAutoViewport(); //允许自动调节窗体大小
function searchByStationName() {map.clearOverlays(); //清空原来的标注var keyword = document.getElementById("text_").value;localSearch.setSearchCompleteCallback(function(searchResult) {var poi = searchResult.getPoi(0);document.getElementById("result_").value = poi.point.lng + "," + poi.point.lat;map.centerAndZoom(poi.point, 13);var marker = new BMap.Marker(new BMap.Point(poi.point.lng, poi.point.lat)); // 创建标注,为要查询的地方对应的经纬度map.addOverlay(marker);var content = document.getElementById("text_").value + "<br/><br/>经度:" + poi.point.lng + "<br/>纬度:" + poi.point.lat;var infoWindow = new BMap.InfoWindow("<p style='font-size:14px;'>" + content + "</p>");marker.addEventListener("click", function() {this.openInfoWindow(infoWindow);});// marker.setAnimation(BMAP_ANIMATION_BOUNCE); //跳动的动画});localSearch.search(keyword);
}
</script></html>
经过反复测试这种方法是可行的,上面的是我的测试key,大家可以采用这种方法前端调用百度查询地理位置经纬度的接口。
2 后端通过java代码调用百度接口方法获取数据
package mz.approve.shtt.utils;import net.sf.json.JSONObject;import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.math.BigDecimal;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
/**** 获取位置经纬度方法* Created by LiXiaoTong on 2017/6/28.*/
public class LngAndLatUtil {public static String getLngAndLat(String address){String map="";String url = "http://api.map.baidu.com/geocoder/v2/?address="+address+"&output=json&ak=xUHj6j8bLRwOPBXex2B3fnyd9YeHlnNs";try {String json = loadJSON(url);JSONObject obj = JSONObject.fromObject(json);if(obj.get("status").toString().equals("0")){double lng=obj.getJSONObject("result").getJSONObject("location").getDouble("lng");double lat=obj.getJSONObject("result").getJSONObject("location").getDouble("lat");map= getDecimal(lng)+","+getDecimal(lat);//System.out.println("经度:"+lng+"---纬度:"+lat);}else{System.out.println("未找到相匹配的经纬度!");//System.out.println("未找到相匹配的经纬度!");}}catch (Exception e){System.out.println("未找到相匹配的经纬度,请检查地址");}return map;}public static double getDecimal(double num) {if (Double.isNaN(num)) {return 0;}BigDecimal bd = new BigDecimal(num);num = bd.setScale(6, BigDecimal.ROUND_HALF_UP).doubleValue();return num;}public static String loadJSON (String url) {StringBuilder json = new StringBuilder();try {URL oracle = new URL(url);URLConnection yc = oracle.openConnection();BufferedReader in = new BufferedReader(new InputStreamReader(yc.getInputStream(),"UTF-8"));String inputLine = null;while ( (inputLine = in.readLine()) != null) {json.append(inputLine);}in.close();} catch (MalformedURLException e) {} catch (IOException e) {}return json.toString();}}
将代码贴到java代码中就能成功调用百度地图位置查询接口,很简单,后期我会将我的代码整理成压缩文件方式上传到csdn上面,有需要可以下载。对于刚刚这两种方法获取经纬度方式如果有其他方法获取的小伙伴欢迎多多交流 如果代码有错误也欢迎指错。
利用百度地图通过位置名称查询经纬度方法总结相关推荐
- 利用百度地图API进行车辆查询并用鼠标拾点获取经纬度
利用百度地图API查询公交车线路位置信息以及鼠标取点的经纬度 先从官网申请秘钥http://lbsyun.baidu.com/ 2. 如果是用jsp写动态web项目,在jsp页面中引入js库,并且引入 ...
- 利用百度地图Android定位SDK获取经纬度
环境的搭建(参考上一次的文章) 百度地图Android定位SDK的使用 2.在Android studio里设计程序来获取经纬度 界面布局activity_main.xml文件的源代码: <?x ...
- html5经纬度定位 源码_利用HTML5定位功能获取经纬度,在根据经纬度利用百度地图获取位置信息...
一.引入相关js 二.js代码 // 单次位置请求执行的函数 function getLocation(){ navigator.geolocation.getCurrentPosition(mapI ...
- Android学习笔记之百度地图(根据地名查询经纬度)
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 重要方法 ...
- 【百度地图API】建立全国银行位置查询系统(四)——如何利用百度地图的数据生成自己的标注...
摘要: 上一章留个悬念,"如果自己没有地理坐标的数据库,应该怎样制作银行的分布地图呢?" 答案就是,利用百度地图上的数据. ---------------------------- ...
- android开发百度地图坐标偏差,利用百度地图Android sdk高仿微信发送位置功能及遇到的问题...
接触了百度地图开发平台半个月了,这2天试着模仿了微信给好友发送位置功能,对百度地图的操作能力又上了一个台阶 我在实现这个功能的时候,遇到一些困难,可能也是别人将会遇到的困难,特在此列出 1.在微信发送 ...
- 使用百度地图Web服务API查询地点的经纬度信息
使用百度地图Web服务API查询地点的经纬度信息 API地理编码服务 数据 结果 API地理编码服务 地理编码服务(又名Geocoder)是一类Web API接口服务: 地理编码服务提供将结构化地址数 ...
- 利用百度地图,根据经纬度找到对应的具体街道
利用百度地图,根据经纬度找到对应的具体街道 最近在做一个数据处理的工作,偶然碰到了要根据经纬度匹配对应的地点.因为百度地图和真实的地理信息比较有一点的差距,于是可以先对数据进行一些处理. 下面上代码 ...
- 百度地图利用位置提供服务器,利用百度地图API获取当前位置信息的实例
利用百度地图API可以做很多事情,个人感觉最核心也是最基础的就是定位功能了.这里分享一个制作的JS可以实现登录网页后定位: var map; var gpsPoint; var baiduPoint; ...
最新文章
- 作者招募 | 加入PaperWeekly,让你的文字被更多人看到
- java怎么指定父窗口大小_[Java教程]jQuery如何获取div距离窗口顶部或者父元素顶部的距离...
- html语言ppt,HTML语言课件.ppt
- 目前还有机会火的6大短视频内容方向
- 《黑客与画家》初读笔记
- 测试平台的发展与未来趋势
- 测试专家谈IT从业人员修炼之道
- 2021-06-15
- beetle-j2ee-application-framework框架介绍.md
- Cisco Packet Tracer教程
- Invalid prop: custom validator check failed for prop “pagination“.
- JAVA之旅(三十五)——完结篇,终于把JAVA写完了,真感概呐!
- linux 1.0 如何运行,观点|Linux 1.0 之旅:回顾这一切的开始
- Linux常用命令(面试)
- imgaug quokka_Quokka CMS的新功能和Beta版路线图
- CSS3——制作带动画效果的小图片
- 1.OpenCV介绍
- 羊毛地毯可以用水洗吗
- 惠普打印机驱动服务器系统安装教程,Hp打印机驱动怎么安装,详细图文版教程...
- 虚拟化大拿炮轰Citrix
热门文章
- 树莓派入门 - 初步安装和几种远程连接
- SM2国密算法公钥解压缩
- ES ./elasticsearch-setup-passwords
- 用计算机编辑文档教学建议,用计算机写文章.doc
- 用Vue+Node搭建网上购物商城——记录篇
- Java中字符串转整型和整型转字符串
- 教育统计学知识总结1
- 《脑电信号分析方法与脑机接口技术》笔记——第二章 EEG信号
- 最适合新手看的平衡二叉搜索树(BBST)的创建,包含详细过程,一看就会(C++版)
- 如何设置页脚跟随页面滚动 高度不够时固定在底部