我试图在谷歌地图活动中搜索位置名称。在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