当前位置: 代码迷 >> Java Web开发 >> google map api怎么根据地名获取经纬度?
  详细解决方案

google map api怎么根据地名获取经纬度?

热度:796   发布时间:2016-04-17 01:10:51.0
google map api如何根据地名获取经纬度???
google map api如何根据地名获取经纬度???
 function initialize() {
  if (GBrowserIsCompatible()) {
  var map = new GMap2(document.getElementById("map_canvas"));
  //map.setMapType(G_SATELLITE_MAP);
  map.setCenter(new GLatLng(26.263432028939793, 117.63870913535357), 13);
   
  }
  }

想把上面红色的经纬度,改为地名如:北京市。如何做???
如何根据地名获取经纬度???

------解决方案--------------------
Java code
    /**     * 根据地址返回经纬度     * @param addr     * @return 返回经纬度数据, latLng[0]经度,latLng[1]维度     */    public static String[] getCoordinate(String addr) {        String[] latLng = new String[2];        String address = null;        try {            address = java.net.URLEncoder.encode(addr, "UTF-8");        } catch (UnsupportedEncodingException e1) {            e1.printStackTrace();        }        ;        String output = "csv";        //密钥可以随便写一个key=abc        String key = "abc";        String url = "http://maps.google.com/maps/geo?q=" + address + "&output=" + output + "&key=" + key;        URL googleMapURL = null;        URLConnection httpsConn = null;        // 进行转码        try {            googleMapURL = new URL(url);        } catch (MalformedURLException e) {            e.printStackTrace();        }        try {            httpsConn = (URLConnection)googleMapURL.openConnection();            if (httpsConn != null) {                InputStreamReader insr = new InputStreamReader(httpsConn.getInputStream(), "UTF-8");                BufferedReader br = new BufferedReader(insr);                String data = null;                if ((data = br.readLine()) != null) {                    String[] retList = data.split(",");                    /*                     * String latitude = retList[2]; String longitude =                     * retList[3];                     *                      * System.out.println("纬度"+ latitude);                     * System.out.println("经度"+ longitude);                     */                    if (retList.length > 2 && ("200".equals(retList[0]))) {                        latLng[0] = retList[2];                        latLng[1] = retList[3];                    }                }                insr.close();            }        } catch (IOException e) {            e.printStackTrace();        }        return latLng;    }
  相关解决方案