问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

怎样在java中调用百度地图的API

发布网友 发布时间:2022-04-22 10:38

我来回答

1个回答

热心网友 时间:2023-10-11 01:38

百度地图Web服务API为开发者提供http接口,即开发者通过http形式发起检索请求,获取返回json或xml格式的检索数据。
api官网说明链接:

http://developer.baidu.com/map/webservice.htm

1、可用接口列举:
获取相关地址提示 place suggestion
http://api.map.baidu.com/place/v2/suggestion?query=水杉®ion=成都&output=json&ak=42b8ececa9cd6fe72ae4cddd77c0da5d

2、获取坐标 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"
}
]
}

3、设施导航
http://api.map.baidu.com/place/v2/search?ak=42b8ececa9cd6fe72ae4cddd77c0da5d&output=json&query=图书馆&page_size=20&page_num=0&scope=2®ion=成都

4、java测试类:
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"));
}
}
}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
女生多大后可以不在长身高? 如何不用软件把手机投屏到电脑上手机屏幕怎样投放到电脑上 战时拒绝、故意延误军事订货罪既遂的处罚? 战时故意延误军事订货罪处罚标准 名师1+1导读方案:汤姆·索亚历险记目录 三星sm-g7200打开微信慢,无法正常收看,网速不慢。 笔记本电脑如何调亮屏幕亮度 大伙说说洗衣机要不要带烘干好 热烘干洗衣机怎么样 ef英语哪个好 怎么根据百度地图位置获取经纬度 如何在html5获取接口方法中返回的map信息 如何用爬虫从百度地图爬取经纬度 如何在百度地图上查看某地方的经纬度? jquery怎样把表单中的值转换成json对象 javascript呼叫百度地图怎么获取所有省会城市的地标资讯? 百度地图API的产品介绍 白话中的 “鐧惧害鍦板浘” 是什么意思?将这个翻译成普通话。 C#语言,从百度地图反向地理编码api返回的json数据中提取信息 百度地图返回json字符串怎么去解析? 2060显卡什么时候出的 苹果 5s为什么有的无线网没有忽略网络? 我的苹怎么组词 苹过6plus用qq为什么扫不上二维码 无线电视怎么切换到农村苹道? 苹果5s为什么有的无线网没有忽略网络 苹 果手机无线网旁边转的是什么 怎么炖羊肉好吃又烂清炖羊肉 羊肉怎么做会比较烂 羊肉怎么做软烂 百度地图api如何根据城市名或经纬度获取当前城市东西经南北纬范围 js 地图API的应用场景是什么? 2014马年金马是什么意思 属鼠的08年9月2号出生的张姓小女孩取什么名字好? 张姓女宝宝,该取个什么名字合适呢? 话说2060显卡什么时候出 支付宝借呗为何突然被关闭? 蚂蚁借呗突然被封了,要怎么才能在开? 2021年借呗突然关闭了 借呗被停用是怎么回事? 手机高德和车载导航怎么互联 百度地图有汽车版吗 2060显卡什么时候出 性能怎么样 dnf怎么挑战深渊派对 dnf挑战深渊派对的任务在哪里接?? dnf深渊派对怎么进 dnf深渊派对怎么进入? DNF深渊派对任务怎么做 dnf怎么打开深渊派对 dnf深渊派对在哪 深渊派对怎么进