调用百度API返回经纬度

后台调用百度API接口生成:

import java.io.BufferedReader;

import java.io.IOException;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.util.HashMap;
import java.util.Map;

import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import net.sf.json.util.JSONTokener;
/**
* @Description: 调用百度公共接口获取经纬度
* @ClassName: EntCoordSyncJob
* @author 明
* @date 2019年9月30日
*
*/
public class EntCoordSyncJob {
  static String AK = "Mwdez7V8QGg0hw3G1keqeoc7cgiktSx1"; // 百度地图密钥
  public static void main(String[] args) throws Exception {
    Map lngAndLat = EntCoordSyncJob.getLngAndLat("大");
    System.out.println(lngAndLat);
  }
  public static Map getLngAndLat(String address)throws Exception{
  Map map=new HashMap();
  String url = "http://api.map.baidu.com/geocoder?address="+address+"&output=json&ak="+AK+"";
  String json = loadJSON(url);
  JSONObject obj = JSONObject.fromObject(json);
  if(obj.get("status").toString().equals("OK")){

    Object typeObject = new JSONTokener(obj.get("result").toString()).nextValue();
    if(typeObject instanceof JSONArray) {
    map.put("error","请输入正确地址");
    return map;
  }
  if(typeObject instanceof JSONObject) {
    String lng=obj.getJSONObject("result").getJSONObject("location").getString("lng");
    String lat=obj.getJSONObject("result").getJSONObject("location").getString("lat");
      map.put("lng", lng);
      map.put("lat", lat);
    return map;
  }
}else{
  map.put("error","请输入正确地址");
}
  return map;
}

public static String loadJSON (String url)throws Exception {
  StringBuilder json = new StringBuilder();
try {
  URL oracle = new URL(url);
  URLConnection yc = oracle.openConnection();
  BufferedReader in = new BufferedReader(new InputStreamReader(
  yc.getInputStream()));
  String inputLine = null;
  while ( (inputLine = in.readLine()) != null) {
  json.append(inputLine);
}
  in.close();
} catch (MalformedURLException e) {
  e.printStackTrace();
} catch (IOException e) {
  e.printStackTrace();
}
  return json.toString();
  }
}

前端生成:







百度地图API自定义地图






地图生成工具基于百度地图JS api v2.0版本开发,使用请申请密匙。
了解如何申请密匙
申请密匙




你可能感兴趣的:(调用百度API返回经纬度)