android中高德地图地理编码

implements GeocodeSearch.OnGeocodeSearchListener

1.通过地址获取经纬度

//地理编码(地址转坐标)
private void addressChangeLat(){
    String arrived = end_et.getText().toString();
    geocoderSearch = new GeocodeSearch(this);
    geocoderSearch.setOnGeocodeSearchListener(this);
    // name表示地址,第二个参数表示查询城市,中文或者中文全拼,citycode、adcode
    GeocodeQuery query = new GeocodeQuery(arrived, "成都");
    geocoderSearch.getFromLocationNameAsyn(query);
}

//获得结果

@Override
public void onGeocodeSearched(GeocodeResult geocodeResult, int i) {
    if(i==1000){
        double latitude=geocodeResult.getGeocodeAddressList().get(0).getLatLonPoint().getLatitude();
        double longitude=geocodeResult.getGeocodeAddressList().get(0).getLatLonPoint().getLongitude();
          la=new LatLng(latitude,longitude);
         aMap.moveCamera(CameraUpdateFactory.newLatLng(la));
    }

}

2.通过经纬度获取地址

//通过经纬度获取地址
    public void locationName(View view) {
        geocoderSearch = new GeocodeSearch(this);
        geocoderSearch.setOnGeocodeSearchListener(this);
        double latitude=30.520833;
        double longitude=104.038253;
        LatLonPoint llp=new LatLonPoint(latitude,longitude);
        // 第一个参数表示一个Latlng,第二参数表示范围多少米,第三个参数表示是火系坐标系还是GPS原生坐标系
        RegeocodeQuery query = new RegeocodeQuery(llp, 200,GeocodeSearch.AMAP);
        
        geocoderSearch.getFromLocationAsyn(query);
    }

//获取结果

@Override
public void onRegeocodeSearched(RegeocodeResult regeocodeResult, int i) {
    if(i==1000){
        String formatAddress = regeocodeResult.getRegeocodeAddress().getFormatAddress();
        name_tv.setText(formatAddress);
    }
}

 

 

转载于:https://my.oschina.net/u/2558429/blog/871216

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值