1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > java调用百度地图API依据地理位置中文获取经纬度

java调用百度地图API依据地理位置中文获取经纬度

时间:2021-02-20 04:06:32

相关推荐

java调用百度地图API依据地理位置中文获取经纬度

百度地图api提供了非常多地图相关的免费接口,有利于地理位置相关的开发,百度地图api首页:/map/。

博主使用过依据地理依据地理位置中文获取经纬度的api,以下提供java调用百度api接口的代码。详情可參考百度地图api相关说明:/map/index.php?title=webapi/guide/webservice-geocoding。很多其它功能待读者挖掘啦。

public Map<String, BigDecimal> getLatAndLngByAddress(String addr){String address = "";String lat = "";String lng = "";try { address = .URLEncoder.encode(addr,"UTF-8"); } catch (UnsupportedEncodingException e1) { e1.printStackTrace(); } String url = String.format("http://api./geocoder/v2/?

"

+"ak=4rcKAZKG9OIl0wDkICSLx8BA&output=json&address=%s",address); URL myURL = null; URLConnection httpsConn = null; //进行转码 try { myURL = new URL(url); } catch (MalformedURLException e) { } try { httpsConn = (URLConnection) myURL.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) { lat = data.substring(data.indexOf("\"lat\":") + ("\"lat\":").length(), data.indexOf("},\"precise\"")); lng = data.substring(data.indexOf("\"lng\":") + ("\"lng\":").length(), data.indexOf(",\"lat\"")); } insr.close(); } } catch (IOException e) { } Map<String, BigDecimal> map = new HashMap<String, BigDecimal>(); map.put("lat", new BigDecimal(lat)); map.put("lng", new BigDecimal(lng)); return map; }

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。