java类方法中百度地图API java端调用百度地图api

\u600e\u6837\u5728java\u4e2d\u8c03\u7528\u767e\u5ea6\u5730\u56fe\u7684API

\u767e\u5ea6\u5730\u56feWeb\u670d\u52a1API\u4e3a\u5f00\u53d1\u8005\u63d0\u4f9bhttp\u63a5\u53e3\uff0c\u5373\u5f00\u53d1\u8005\u901a\u8fc7http\u5f62\u5f0f\u53d1\u8d77\u68c0\u7d22\u8bf7\u6c42\uff0c\u83b7\u53d6\u8fd4\u56dejson\u6216xml\u683c\u5f0f\u7684\u68c0\u7d22\u6570\u636e\u3002
api\u5b98\u7f51\u8bf4\u660e\u94fe\u63a5:

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

1\u3001\u53ef\u7528\u63a5\u53e3\u5217\u4e3e:
\u83b7\u53d6\u76f8\u5173\u5730\u5740\u63d0\u793a place suggestion
http://api.map.baidu.com/place/v2/suggestion?query=\u6c34\u6749®ion=\u6210\u90fd&output=json&ak=42b8ececa9cd6fe72ae4cddd77c0da5d

2\u3001\u83b7\u53d6\u5750\u6807 geocoding

http://api.map.baidu.com/geocoder?address=\u9526\u6c5f\u533a\u83f1\u5b89\u8def299\u53f7&output=json&key=42b8ececa9cd6fe72ae4cddd77c0da5d

http://api.map.baidu.com/place/v2/search?ak=42b8ececa9cd6fe72ae4cddd77c0da5d&output=json&query=\u84dd\u5149coco\u91d1\u6c99&page_size=10&page_num=0&scope=1®ion=\u6210\u90fd
{
"status":0,
"message":"ok",
"total":2,
"results":[
{
"name":"\u84dd\u5149COCO\u91d1\u6c99",
"location":{
"lat":30.687544,
"lng":103.996691
},
"address":"\u897f\u4e09\u73af\u5916\u91d1\u6c99\u897f\u6e90\u5927\u9053\uff08IT\u5927\u9053\u65c1\uff09",
"uid":"223992992c5ee7e0841541df"
},
{
"name":"\u84dd\u5149COCO\u91d1\u6c992\u671f",
"location":{
"lat":30.681123,
"lng":103.991123
},
"address":"\u9752\u7f8a\u533a\u91d1\u6c99IT\u5927\u9053\u65c1",
"uid":"b7bb5abb1cd4982213293580"
}
]
}

3\u3001\u8bbe\u65bd\u5bfc\u822a
http://api.map.baidu.com/place/v2/search?ak=42b8ececa9cd6fe72ae4cddd77c0da5d&output=json&query=\u56fe\u4e66\u9986&page_size=20&page_num=0&scope=2®ion=\u6210\u90fd

4\u3001java\u6d4b\u8bd5\u7c7b\uff1a
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";

/**
* \u8fd4\u56de\u8f93\u5165\u5730\u5740\u7684\u7ecf\u7eac\u5ea6\u5750\u6807 key lng(\u7ecf\u5ea6),lat(\u7eac\u5ea6)
*/
public static Map getLatitude(String address) {
try {
// \u5c06\u5730\u5740\u8f6c\u6362\u6210utf-8\u768416\u8fdb\u5236
address = URLEncoder.encode(address, "UTF-8");
// \u5982\u679c\u6709\u4ee3\u7406\uff0c\u8981\u8bbe\u7f6e\u4ee3\u7406\uff0c\u6ca1\u4ee3\u7406\u53ef\u6ce8\u91ca
// 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 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();
map.put("lng", lng);
map.put("lat", lat);
return map;
}
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}

public static void main(String args[]) {

Map map = LocationUtil.getLatitude("\u6210\u90fd \u9ad8\u65b0\u897f\u533a\u897f\u533a\u5927\u90531398\u53f7");
if (null != map) {
System.out.println(map.get("lng"));
System.out.println(map.get("lat"));
}
}
}

\u8c03google api\u5427\uff1a

\u4e0a\u9762\u5f15\u5165\u540e\uff0c

function initialize() {
var myLatlng = new google.maps.LatLng(29.678815, 121.426489);
var myOptions = {
zoom: 12,
center: myLatlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);


var marker = new google.maps.Marker({
position: myLatlng,
map: map,
title: "Hello World!"
});

var rectangle = new google.maps.Rectangle();
var rectOptions = {
strokeColor: "#FF0000",
strokeOpacity: 0.8,
strokeWeight: 2,
fillColor: "#FF0000",
fillOpacity: 0.35,
map: map,
clickable:false,
bounds: map.getBounds()
};

var beginlatlng = ""; //\u8bb0\u5f55\u8d77\u59cb\u70b9\u5750\u6807
var endlatlng = ""; //\u8bb0\u5f55\u7ed3\u675f\u70b9\u5750\u6807
var rectBounds = "";
var SfClick = "";
var SfMove = "";
var ClickCount = 0; //\u70b9\u51fb\u6b21\u6570
SfClick = google.maps.event.addListener(map, 'click', function(e) {
var begin = e.latLng;
ClickCount++;
if (ClickCount == 1) {
SfMove = google.maps.event.addListener(map, "mousemove",function(e) {
beginlatlng = begin;
endlatlng = e.latLng;
rectOptions.bounds = new google.maps.LatLngBounds(beginlatlng, endlatlng);
rectOptions.map = map;
rectangle.setOptions(rectOptions);
});
} else {
google.maps.event.removeListener(SfMove);
if (window.confirm("ok")) {
ClickCount = 0;
alert('\u8d77\u59cb\u5750\u6807\u70b9' + beginlatlng + '\n\u7ed3\u675f\u5750\u6807\u70b9' + endlatlng)
} else {
ClickCount = 0;
rectOptions.map = null;
rectangle.setOptions(rectOptions);
}
}
});
}

百度地图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"));
}
}
}

那具体要看百度开了什么接口给你了,你要仔细研究下帮助文档。

百度地图的开放接口好像都是js的吧~没具体研究过

  • java绫绘柟娉曚腑鐧惧害鍦板浘API
    绛旓細1銆佸彲鐢ㄦ帴鍙e垪涓:鑾峰彇鐩稿叧鍦板潃鎻愮ず 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=42b8ececa9...
  • 鐧惧害鍦板浘api java鎬庝箞鐢
    绛旓細1銆佸皢baidumapapi_vX_X_X.jar鎷疯礉鍒板伐绋媗ibs鐩綍涓嬶紝灏唋ibBaiduMapSDK_vX_X_X.so鎷疯礉鍒發ibs\armeabi 鐩綍涓嬶紝鎷疯礉瀹屾垚鍚庯紝濡備笅鎵绀猴細娉細liblocSDK3.so鍜宭ocSDK_3.1.jar涓鐧惧害瀹氫綅SDK鎵浣跨敤璧勬簮锛屽紑鍙戣呭彲鏍规嵁瀹為檯闇姹傝嚜琛屾坊鍔犮俠ubuko.com,甯冨竷鎵 2銆佸彸閿伐绋嬪睘鎬э紝鍦↙ibraries涓夋嫨鈥淎dd Ext...
  • 濡備綍浣跨敤java鍜鐧惧害鍦板浘api 寰楀埌涓ょ偣涔嬮棿鐨勮矾绋(椹捐溅琛岄┒璺濈)
    绛旓細 // 鐧惧害鍦板浘API鍔熻兘 var map = new BMap.Map("allmap"); map.centerAndZoom("閲嶅簡",12); //鍒濆鍖栧湴鍥,璁剧疆鍩庡競鍜屽湴鍥剧骇鍒 var pointA = new BMap.Point(106.486654,29.490295); // 鍒涘缓鐐瑰潗鏍嘇--澶ф浮鍙e尯 var pointB = new BMap.Point(106.581515,29.615467); ...
  • 濡備綍浣跨敤鐧惧害鍦板浘API
    绛旓細1锛変笅杞界櫨搴﹀湴鍥剧Щ鍔ㄧ増API(Android)寮鍙戝寘 瑕佸湪Android搴旂敤涓娇鐢鐧惧害鍦板浘API锛屽氨闇瑕佸湪宸ョ▼涓紩鐢ㄧ櫨搴﹀湴鍥続PI寮鍙戝寘锛岃繖涓紑鍙戝寘鍖呭惈涓や釜鏂囦欢锛歜aidumapapi.jar鍜宭ibBMapApiEngine.so銆2锛夌敵璇稟PI Key 鍜屼娇鐢℅oogle map api涓鏍凤紝鍦ㄤ娇鐢ㄧ櫨搴﹀湴鍥続PI涔嬪墠涔熼渶瑕佽幏鍙栫浉搴旂殑API Key銆傜櫨搴﹀湴鍥続PI Key涓庝綘...
  • 濡備綍浣跨敤Android璋冪敤鐧惧害鍦板浘API
    绛旓細鍏抽敭瀛:android,鐧惧害鍦板浘,android鐧惧害鍦板浘寮鍙,android瀹炴椂瀹氫綅 鍦ˋndroid寮鍙戜腑鏈変竴涓潪甯搁噸瑕佺殑搴旂敤灏辨槸瀹炴椂瀹氫綅,閫氳繃鎵嬫満鍦ㄦ墜鏈哄湴鍥句笂杩涜瀹炴椂瀹氫綅,瀹氫綅褰撳墠鎵嬫満鐨勪綅缃,杩欎釜鍔熻兘鎴戜滑涓鑸兘鍙互鐢ㄧ櫨搴﹀湴鍥炬垨鑰呰胺姝屽湴鍥剧殑api鏉ュ疄鐜,杩欎簺api浠g爜瑕佸湪鐧惧害鎴栬呰胺姝岀殑瀹樼綉涓婁笅杞,杩欓噷涓嶅啀澶氳,鏈枃浠ヤ唬鐮佸疄渚嬬殑鏂瑰紡灞曠ず濡備綍浣跨敤...
  • 鐧惧害鍦板浘API鍩烘湰浣跨敤(涓)
    绛旓細鎯虫繁鍏ョ爺绌鐧惧害鍦板浘avaScript API 3.0鏂规硶鍙傛暟淇℃伅鐨勮瘽锛屽彲浠ラ氳繃涓嬫柟绫诲弬鑰 鐧惧害鍦板浘avaScript API v3.0绫诲弬鑰 鍙﹀涓嶅悓鐗堟湰鐨凙PI鍙互鑷鍦ㄥ紑鍙戞枃妗d腑鐨勭被鍙傝冪被鐩腑鎵惧埌,璇疯嚜琛屾煡鎵 涓嶈繃瑕佹敞鎰忥細瀹炰緥涓績浣跨敤鐨勬槸BMap鍘诲垱寤哄鍣ㄧ殑锛屾渶鏂扮増GL鍦板浘鍛藉悕绌洪棿涓築MapGL, 鍙寜浣忛紶鏍囧彸閿帶鍒跺湴鍥炬棆杞佷慨鏀...
  • java鐧惧害鍦板浘API鑾峰彇褰撳墠浣嶇疆鏄痷nicode?鎬庝箞鐩存帴鑾峰彇姹夊瓧鍟???
    绛旓細鑷繁鍐欎釜宸ュ叿绫汇傝皟鐢ㄤ竴涓嬪氨琛屼簡銆傜▼搴忚繍琛岀殑鏃跺欏氨鏄敤鐨剈nicode鐮併傚彧鏄垜浠湅鍒扮殑鏄杞箟浜嗚屽凡
  • 濡備綍鐢java鑾峰彇鐧惧害API杩斿洖鐨刯son鏁版嵁鐨?
    绛旓細1:鏄嫾鎺ラ渶瑕佺殑json鏁版嵁銆2:鏄敤servlet鐨勫唴缃璞esponse杩斿洖鍒板墠鍙般3:String 绫诲瀷鐨勬暟鎹彲浠ヤ笉鐢ㄥ熷姪浠讳綍宸ュ叿鐩存帴杩斿洖锛屽彧瑕佹妸瀹冩嫾鎺ュ浜嗗氨鍙互銆傚鎴戦渶瑕佽繑鍥炰竴涓獅鈥渟uccess鈥:true,鈥渕sg鈥:鈥滀慨鏀瑰け璐ワ紒鈥潁鐨刯son锛堟敞鎰忥紝java閲鐨勫紩鍙疯鐢ㄧ殑杞箟瀛楃鈥淺鈥濓級銆4:濡傛灉闇瑕佽繑鍥炵殑鏄竴涓猯ist鎴栬呭埆...
  • 鎬庝箞鏍蜂娇鐢java鏉ヨ幏寰鐧惧害鍦板浘寮婧愭帴鍙d腑,IP瀹氫綅杩斿洖鐨勭粨鏋?
    绛旓細gson锛屽厛鎸 閭f牸寮忥紝瀹氫箟涓涓被BaiduGeo Gson gson = new Gson();result = gson.fromJson(sTotalString, BaiduGeo.class);
  • java寮鍙 鎬庝箞鎶婂浘灞傛斁鍒鐧惧害鍦板浘涓
    绛旓細棣栧厛锛屾垜鍏堜笅杞鐧惧害鍦板浘鐡︽牸鍥剧墖鍒囧浘宸ュ叿锛歨ttps://github.com/jiazheng/BaiduMapTileCutter 鍏舵锛屾壘鍒拌嚜宸辩殑鍦板浘锛屽鍏ュ叾涓繘琛屽垏鐗囷紝鍙傝僑up_Heaven杞殑鍗氭枃锛歨ttp://blog.csdn.net/sup_heaven/article/details/8461586 鏈鍚庡皢鍥剧墖鏀惧叆椤圭洰璧勬簮鏂囦欢涓紝瀹炵幇getTitlesUrl鏂规硶鍗冲彲銆傝繖閲岄渶瑕佽ˉ鍏呬竴涓嬬殑鍚岋紝...
  • 扩展阅读:百度导航官方下载 ... 地图导航查询路线 ... 免费全景卫星地图 ... 卫星地图url地址 ... 进入百度地图 ... 免费高清地图下载网站 ... 免费源码资源源码站 ... 百度地图高清卫星地图 ... 百度地图网页版入口官网 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网