我试图在谷歌地图活动中搜索位置名称。在onsearch方法中address.getLatitude()和address.getLongitude不起作用。它显示红色文本。任何人都可以解决我的错误。在我的代码下面

public void onSearch(View view)
{
    EditText location_tf = (EditText)findViewById(R.id.TFaddress);
    String location = location_tf.getText().toString();
    List<Address> addressList = null;
    if(location != null || !location.equals(""))
    {
        Geocoder geocoder = new Geocoder(this);
        try {
            addressList = geocoder.getFromLocationName(location , 1);


        } catch (IOException e) {
            e.printStackTrace();
        }

        Address address = addressList.get(0);
        LatLng latLng = new LatLng(address.getLatitude() , address.getLongitude());
        mMap.addMarker(new MarkerOptions().position(latLng).title("Marker"));
        mMap.animateCamera(CameraUpdateFactory.newLatLng(latLng));

    }
}
@Override
public void onMapReady(GoogleMap googleMap) {
    mMap = googleMap;

    // Add a marker in Sydney and move the camera
    LatLng sydney = new LatLng(0,0);
    mMap.addMarker(new MarkerOptions().position(sydney).title("Marker in Sydney"));
    mMap.moveCamera(CameraUpdateFactory.newLatLng(sydney));
}

最佳答案

看来,您导入了错误的Address类或根本没有导入。可以使用以下行导入The class which you are looking

import android.location.Address;


上面的类包含getLatitude()getLongitude()方法。另一个包含Address类的程序包,我想是由于您导入的错误而导致的:

com.google.android.gms.identity.intents

07-24 09:45
查看更多