Android高德地图输入地址利用正地理编码获取经纬度
2017-05-26 16:05
781 查看
在项目中需要完成一个功能,选择某一个城市的名字,结束当前页面,地图页面移动到选择的城市,这么一个功能,因为项目中用的是高德地图,所以下面先附上图片。
![](https://oscdn.geek-share.com/Uploads/Images/Content/202007/17/fa9da6caad33be18bb533a2317c6704b)
现在就来实现上面的功能。
第一步 输入想要搜索的名字,比如北海市,然后发起正地理编码搜索。
第二步 通过正地理编码获取北海市的经纬度,在正地理编码的监听方法中获取。
第三步 得到经纬度之后,把地图移动到要移动的位置。
这样就完成了上述的那个功能,也可以只单独的获取经纬度,希望对别人有用,勿喷。
现在就来实现上面的功能。
第一步 输入想要搜索的名字,比如北海市,然后发起正地理编码搜索。
GeocodeSearch("北海市"); //发起正地理编码搜索 public void GeocodeSearch(String city) { //构造 GeocodeSearch 对象,并设置监听。 geocodeSearch = new GeocodeSearch(this); geocodeSearch.setOnGeocodeSearchListener(this); //通过GeocodeQuery设置查询参数,调用getFromLocationNameAsyn(GeocodeQuery geocodeQuery) 方法发起请求。 //address表示地址,第二个参数表示查询城市,中文或者中文全拼,citycode、adcode都ok GeocodeQuery query = new GeocodeQuery(city, city); geocodeSearch.getFromLocationNameAsyn(query); }
第二步 通过正地理编码获取北海市的经纬度,在正地理编码的监听方法中获取。
@Override public void onRegeocodeSearched(RegeocodeResult regeocodeResult, int i) { } //正地理编码 @Override public void onGeocodeSearched(GeocodeResult geocodeResult, int i) { if (i == AMapException.CODE_AMAP_SUCCESS) { if (geocodeResult != null && geocodeResult.getGeocodeAddressList() != null && geocodeResult.getGeocodeAddressList().size() > 0) { GeocodeAddress address = geocodeResult.getGeocodeAddressList().get(0); addressName = "经纬度值:" + address.getLatLonPoint() + "\n位置描述:" + address.getFormatAddress(); //获取到的经纬度 LatLonPoint latLongPoint = address.getLatLonPoint(); Lat = (float)latLongPoint.getLatitude(); Lon = (float)latLongPoint.getLongitude(); Log.d("111",Double.toString(Lat)); //然后把经纬度传递给地图界面 intent = new Intent(); Bundle bundle = new Bundle(); bundle.putDouble("Lat",Lat); bundle.putDouble("Lng",Lon); intent.putExtra("LAT",bundle); CityChangeActivity.this.setResult(8,intent); CityChangeActivity.this.finish(); } } }
第三步 得到经纬度之后,把地图移动到要移动的位置。
Bundle bundle = new Bundle(); bundle = data.getBundleExtra("LAT"); double Lat = bundle.getDouble("Lat"); double Lng = bundle.getDouble("Lng"); aMap.moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng (Lat, Lng), 13.0f)); }
这样就完成了上述的那个功能,也可以只单独的获取经纬度,希望对别人有用,勿喷。
相关文章推荐
- iOS之获取经纬度并通过反向地理编码获取详细地址
- Android高德获取逆地址编码(经纬度坐标-地址描述如省市区街道)
- 高德地图-Android-逆地理转换:经纬度转换成地址
- android下利用高德地图获取经纬度等定位信息
- iOS开发——定位获取经纬度坐标,并反编码获得地理位置信息(具体地址,国家、省、市等)
- android中获取位置(二)--利用反向地址编码获取具体位置信息
- 高德地图-Android-逆地理转换:经纬度转换成地址
- iOS之获取经纬度并通过反向地理编码获取详细地址
- 高德地图 Javascript web API 1.3根据输入的地址搜索位置的经纬度编码
- iOS之获取经纬度并通过反向地理编码获取详细地址
- Android高德地图设置中心点图标,通过逆地理编码实时获取中心点的经纬度和详细位置
- 利用ListActivity,CursorAdapter获取用户输入(短信群发器的地址输入实现)总结
- Android Map Api 使用和开发(3)浮动搜索框 ,通过地址名称获取经纬度和详细地址并定位
- 利用cellID获取经纬度,地址信息
- Android Map Api 使用和开发(2) 定位我的位置、地图弹出泡泡、通过经纬度获取地址
- Android Map Api 使用和开发(2) 定位我的位置、地图弹出泡泡、通过经纬度获取地址
- Android Map Api 使用和开发(3)浮动搜索框 ,通过地址名称获取经纬度和详细地址并定位
- 利用百度地图Geocoding API获取特定地区或地址的经纬度信息
- 高德地图根据地址批量获取经纬度
- android 通过经纬度获取地址信息