我试图通过使用地址在android中的地图上显示标记 这是我的代码:
public void onMapReady(GoogleMap googleMap){
mMap = googleMap;
Geocoder coder= new Geocoder(this);
try
{
String straddress = "155 Park Theater,Palo Alto,CA";
Double latitude = 0.0;
Double longitude = 0.0;
List<Address> addresses = coder.getFromLocationName("155 Park Theater,Palo Alto,CA",1);
Address location = addresses.get(0);
LatLng p1 = new LatLng(location.getLatitude(), location.getLongitude());
mMap.addMarker(new MarkerOptions().position(p1).title("California"));
mMap.moveCamera(CameraUpdateFactory.newLatLng(p1));
}
catch (Exception e)
{
e.printStackTrace();
}
}
如果我没有输入街道号码,那么它会显示标记。 但是,它只会在街上显示标记。我想要特定位置的标记。
我在输入带有街道号码的整个地址时遇到以下错误。 “地址”列表为空。
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
答案 0 :(得分:0)
使用以下代码更新您的代码:
List<Address> address;
LatLng latLng = null;
try {
address = coder.getFromLocationName(strAddress,5);
if (address==null) {
return null;
}
Address location=address.get(0);
latLng = new LatLng(location.getLatitude(),location.getLongitude());
}