
高德地图 Android SDK 是一套地图开发调用接口,开发者可以轻松地在自己的Android应用中加入高德地图相关的功能,包括:地图显示(含室内、室外地图)、与地图交互、在地图上绘制、兴趣点搜索、地理编码、离线地图等功能。
下面这个实例演示了在Android手机高德地图上根据纬度和经度值查询详细地址。
实例功能
此实例主要通过使用高德地图SDK的GeocodeSearch和RegeocodeQuery,实现根据指定的纬度和经度值查询该地的详细地址。当实例运行之后,如果在“纬度经度值:”输入框中输入重庆科技馆的纬度和经度值“29.569585,106.576911”,然后单击“通过高德地图获取该地的详细地址”按钮,将设置重庆科技馆为高德地图的中心,并在标记窗口中显示该地的详细地址,如图1(a)所示。如果在“纬度经度值:”输入框中输入重庆人民解放纪念碑的纬度和经度值“29.557258,106.577045”,然后单击“通过高德地图获取该地的详细地址”按钮,将设置重庆人民解放纪念碑为高德地图的中心,并在标记窗口中显示该地的详细地址,如图1(b)所示。在“纬度经度值:”输入框中输入其他值进行测试,将取得类似的效果。

■ 图1
实现代码
//响应单击按钮“通过高德地图获取该地的详细地址”
public void onClickButton1(View v) {
myAMap.clear();
EditText myEditLatlng=(EditText)findViewById(R.id.myEditLatlng);
String myLatLngString=myEditLatlng.getText().toString();
final double myLat=Double.parseDouble(myLatLngString
.substring(0,myLatLngString.indexOf(",")));
final double myLng=Double.parseDouble(myLatLngString
.substring(myLatLngString.indexOf(",")+1));
//通过LatLonPoint封装纬度经度值
LatLonPoint myLatLonPoint=new LatLonPoint(myLat,myLng);
GeocodeSearch myGeocodeSearch=new GeocodeSearch(this);
//添加检索结果监听器
myGeocodeSearch.setOnGeocodeSearchListener(
new GeocodeSearch.OnGeocodeSearchListener(){
@Override
public void onRegeocodeSearched(RegeocodeResult regeocodeResult, int i){
String myAddress=regeocodeResult.getRegeocodeAddress()
.getFormatAddress();
MarkerOptions myMarkerOptions = new MarkerOptions();
myMarkerOptions.position(new LatLng(myLat,myLng));
myMarkerOptions.title("该地的详细地址如下:");
myMarkerOptions.snippet(myAddress);
Marker myMarker=myAMap.addMarker(myMarkerOptions);
myMarker.showInfoWindow();
myAMap.moveCamera(CameraUpdateFactory.changeLatLng(
new LatLng(myLat,myLng))); //设置该地址为高德地图中心
}
@Override
public void onGeocodeSearched(GeocodeResult geocodeResult, int i){ }
});
//通过RegeocodeQuery封装查询的地址信息,并指定坐标系类型和搜索范围
RegeocodeQuery RegeocodeQuery=
new RegeocodeQuery(myLatLonPoint,200,GeocodeSearch.AMAP);
//查询指定经纬度,并将结果传入回调接口
myGeocodeSearch.getFromLocationAsyn(RegeocodeQuery);
}
}
代码说明
补充说明
在测试代码时,必须保持网络畅通。
源代码下载
关注微信公众号,后台回复关键词 “Android App开发超实用代码294” 即可获得完整源代码。
参考书籍


扫码优惠购书
《Android App开发超实用代码集锦——jQuery Mobile+OpenCV+O》
ISBN:9787302589358
作者:罗帅、罗斌
定价:99元
问题描述+解决方案+真实源码+效果截图
介绍jQuery Mobile、OpenCV、OpenGL等在Android平台运行的应用
300个实例,提供完整源代码,边看边做边学











