java调用百度地图web服务api-----该方法可用在js跨域请求上
来源:互联网 发布:1hhhhh域名访问升级 编辑:程序博客网 时间:2024/05/01 13:22
百度地图Web服务API为开发者提供http接口,即开发者通过http形式发起检索请求,获取返回json或xml格式的检索数据。用户可以基于此开发JavaScript、C#、C++、Java等语言的地图应用。
api官网说明链接:
http://developer.baidu.com/map/webservice.htm
可用接口列举:
获取相关地址提示 place suggestion
http://api.map.baidu.com/place/v2/suggestion?query=水杉®ion=成都&output=json&ak=42b8ececa9cd6fe72ae4cddd77c0da5d
获取坐标 geocoding
http://api.map.baidu.com/geocoder?address=锦江区菱安路299号&output=json&key=42b8ececa9cd6fe72ae4cddd77c0da5d
http://api.map.baidu.com/place/v2/search?ak=42b8ececa9cd6fe72ae4cddd77c0da5d&output=json&query=蓝光coco金沙&page_size=10&page_num=0&scope=1®ion=成都
{
"status":0,
"message":"ok",
"total":2,
"results":[
{
"name":"蓝光COCO金沙",
"location":{
"lat":30.687544,
"lng":103.996691
},
"address":"西三环外金沙西源大道(IT大道旁)",
"uid":"223992992c5ee7e0841541df"
},
{
"name":"蓝光COCO金沙2期",
"location":{
"lat":30.681123,
"lng":103.991123
},
"address":"青羊区金沙IT大道旁",
"uid":"b7bb5abb1cd4982213293580"
}
]
}
设施导航
http://api.map.baidu.com/place/v2/search?ak=42b8ececa9cd6fe72ae4cddd77c0da5d&output=json&query=图书馆&page_size=20&page_num=0&scope=2®ion=成都
获取坐标接口直接在浏览器请求的结果如下:
新建一个类,代码如下:
import java.io.BufferedReader;import java.io.InputStreamReader;import java.net.URL;import java.net.URLEncoder;import java.util.HashMap;import java.util.Map;public class LocationUtil {private static final String BAIDU_APP_KEY = "42b8ececa9cd6fe72ae4cddd77c0da5d";/** * 返回输入地址的经纬度坐标 key lng(经度),lat(纬度) */public static Map<String, String> getLatitude(String address) {try {// 将地址转换成utf-8的16进制address = URLEncoder.encode(address, "UTF-8");// 如果有代理,要设置代理,没代理可注释// System.setProperty("http.proxyHost","192.168.172.23");// System.setProperty("http.proxyPort","3209");URL resjson = new URL("http://api.map.baidu.com/geocoder?address="+ address + "&output=json&key=" + BAIDU_APP_KEY);BufferedReader in = new BufferedReader(new InputStreamReader(resjson.openStream()));String res;StringBuilder sb = new StringBuilder("");while ((res = in.readLine()) != null) {sb.append(res.trim());}in.close();String str = sb.toString();System.out.println("return json:" + str);if(str!=null&&!str.equals("")){Map<String, String> map = null;int lngStart = str.indexOf("lng\":");int lngEnd = str.indexOf(",\"lat");int latEnd = str.indexOf("},\"precise");if (lngStart > 0 && lngEnd > 0 && latEnd > 0) {String lng = str.substring(lngStart + 5, lngEnd);String lat = str.substring(lngEnd + 7, latEnd);map = new HashMap<String, String>();map.put("lng", lng);map.put("lat", lat);return map;}}} catch (Exception e) {e.printStackTrace();}return null;}public static void main(String args[]) {Map<String, String> map = LocationUtil.getLatitude("成都 高新西区西区大道1398号");if (null != map) {System.out.println(map.get("lng"));System.out.println(map.get("lat"));}}}
运行后得到结果:
- java调用百度地图web服务api-----该方法可用在js跨域请求上
- c#调用百度地图web服务api-----该方法可用在js跨域请求上
- C# 调用百度地图web服务API
- 百度地图js api 异步调用方法
- js 调用百度地图api,并在地图上进行打点,添加标注
- 百度地图坐标转换Web服务跨域请求
- JS调用百度地图API
- js-调用百度地图api
- js调用百度地图API
- js调用百度地图API
- js调用百度地图api
- Java调用百度地图API
- js调用百度地图api实现定位
- 百度地图API JS调用实例
- 百度web地图js api优化思路
- 通过调用百度地图API在web网页中嵌入百度地图,并进行单点或多点标注
- js调用百度地图API,实现地图标注位置
- 百度地图api调用
- Struts 1 中如何测试Action
- android获取相册图片 拍照获取图片 用到的东西
- 常见的动态规划问题分析与求解
- 二叉树的非递归遍历
- Android系统的改进(四)-- 短信直接加入黑名单功能
- java调用百度地图web服务api-----该方法可用在js跨域请求上
- java设计模式--单例模式
- POSIX IPC之消息队列
- 2013计算机视觉代码合集一
- crc循环校验原理和实现
- epoll技术
- 2013计算机视觉代码合集二
- 123
- 10 - Longest Common Prefix