知识大全 java如何通过google map api实现地址解析
Posted 地址
篇首语:生也有涯,知也无涯。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 java如何通过google map api实现地址解析相关的知识,希望对你有一定的参考价值。
地址解析就是将地址(如 广东省广州市)转换为地理坐标(如经度 纬度 )的过程 google map api提供两种方法实现地址解析
第一种 是通过使用 GClientGeocoder 对象来实现 大家可以参考google map api的相关文档 以下是摘自google的相关代码
var map = new GMap (document getElementById( map_canvas ));
var geocoder = new GClientGeocoder();
function showAddress(address)
geocoder getLatLng(
address
function(point)
if (!point)
alert( 无法解析: + address);
else
map setCenter(point );
var marker = new GMarker(point);
map addOverlay(marker);
marker openInfoWindowHtml(address);
);
第二种方法 就是通过HTTP请求直接访问 调用参数等相关说明请参考 CN/apis/maps/documentation/l
而通过java实现的方法如下
/**
* 利用googlemap api 通过 HTTP 进行地址解析
* @param address 地址
* @return HTTP状态代码 精确度(请参见精确度常数) 纬度 经度
*/
private String getLatlng(String address)
String ret = ;
if(address != null && !address equals( ))
try
address = URLEncoder encode(address UTF );//进行这一步是为了避免乱码
catch (UnsupportedEncodingException e )
logger error( 转码失败 e );
String[] arr = new String[ ];
arr[ ] = address;
arr[ ] = OUTPUT;
arr[ ] = SENSOR;
arr[ ] = KEY;
String url = MessageFormat format( &output= &sensor= &key= arr);
URL urlmy = null;
try
urlmy = new URL(url);
HttpURLConnection con = (HttpURLConnection) urlmy openConnection();
con setFollowRedirects (true );
con setInstanceFollowRedirects(false );
nnect();
BufferedReader br = new BufferedReader(new InputStreamReader(con getInputStream() UTF ));
String s = ;
StringBuffer sb = new StringBuffer( );
while ((s = br readLine()) != null )
sb append(s+ \\r\\n );
ret = +sb;
catch (MalformedURLException e)
logger error( 通过方式获取地址信息失败 e);
catch (IOException e)
logger error( 文件读取失败 e);
return ret;
cha138/Article/program/Java/hx/201311/27069
相关参考