亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

從坐標谷歌地圖Android獲取地址

從坐標谷歌地圖Android獲取地址

滄海一幻覺 2021-06-14 13:14:23
我正在嘗試一個位置應用程序,目前我在標記上有該位置的坐標?,F在,如何從已有的坐標中獲取位置名稱?我的代碼://search add addressprivate void geoLocate() {    Log.d( TAG, "geoLocate: geolocating" );    String searchString = mSearchText.getText().toString();    Geocoder geocoder = new Geocoder( MapActivity.this );    List<Address> list = new ArrayList<>();    try {        list = geocoder.getFromLocationName( searchString, 1 );    } catch (IOException e) {        Log.e( TAG, "geoLocate: IOException" + e.getMessage() );    }    if (list.size() > 0) {        Address address = list.get( 0 );        Log.d( TAG, "geoLocate: found a location:  " + address.toString() );        moveCamera( new LatLng( address.getLatitude(), address.getLongitude() ), DEFAULT_ZOOM,address.getAddressLine( 0 ) );    }}這是我的標記// add markerpublic void addMarkers() {    mMap.setOnMapClickListener( new GoogleMap.OnMapClickListener() {        @Override        public void onMapClick(LatLng latLng) {            MarkerOptions markerOptions = new MarkerOptions();            markerOptions.position( latLng );            markerOptions.title( latLng.latitude + " : " + latLng.longitude );            mMap.clear();            mMap.animateCamera( CameraUpdateFactory.newLatLng( latLng ) );            mMap.addMarker( markerOptions );            shareView();        }    } );}
查看完整描述

1 回答

?
慕哥6287543

TA貢獻1831條經驗 獲得超10個贊

您可以使用波紋管代碼來獲取基于 latlong 的地址


try {

        Geocoder geocoder;

        String city=null;

        List<Address> yourAddresses;

        geocoder = new Geocoder(this, Locale.getDefault());

        yourAddresses = geocoder.getFromLocation(yourLatitude, yourLongitude, 1);



    final String yourAddress = yourAddresses.get(0).getAddressLine(0);

    if (yourAddresses != null && yourAddresses.size() > 0) {

        android.location.Address address = yourAddresses.get(0);

        @SuppressWarnings("MismatchedQueryAndUpdateOfStringBuilder") StringBuilder sb = new StringBuilder();

        for (int i = 0; i < address.getMaxAddressLineIndex(); i++) {

            sb.append(address.getAddressLine(i)).append("\n");

        }

        city = address.getLocality();

        Log.d("city", "onCreate: "+city);

    }


    } catch (IOException e) {

        e.printStackTrace();

    }


查看完整回答
反對 回復 2021-06-17
  • 1 回答
  • 0 關注
  • 134 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號