使用自动完成功能搜索地点后地图 activity 崩溃
Map activity crashes after search a place with autocomplete
您好,我是 android 地图的新手,我有一张地图 activity,当我使用自动完成功能搜索地址时会添加标记,搜索地址(街道、州、国家/地区)时一切正常,问题是,当我按麦当劳或特定建筑物等地点搜索时,自动完成功能正常,但当它应该添加标记时,activity 崩溃了。我已经有 Google maps api key 和 Google places server key
在下面添加标记代码
提前致谢!
Intent o = getIntent();
String textOrigin = o.getStringExtra("TextBoxOrigin");
List<Address> addressListOrigin=null;
if(textOrigin !=null)
{
Geocoder geocoderOrigin=new Geocoder(this);
try {
addressListOrigin=geocoderOrigin.getFromLocationName(textOrigin,1);
}catch (IOException e){
e.printStackTrace();
}
//Check if origin exist
if(addressListOrigin != null && addressListOrigin.size() > 0) {
Address addressOrigin = addressListOrigin.get(0);
LatLng latLng = new LatLng(addressOrigin.getLatitude(), addressOrigin.getLongitude());
mMap.addMarker(new MarkerOptions().position(latLng).title("your position").icon(BitmapDescriptorFactory.fromResource(R.mipmap.worker_pin2)));
mMap.moveCamera(CameraUpdateFactory.newLatLng(latLng));
CameraUpdate cameraUpdate1 = CameraUpdateFactory.newLatLngZoom(latLng, 12);
mMap.animateCamera(cameraUpdate1);
}else{
noLocationFound();
}
Geocoder 的 getFromLocationName() 方法必须 运行 在与 UI 不同的线程上,请在此处查看答案:
Can GeoCoder getFromLocation method cause a NetworkOnMainThreadException to be thrown?
您好,我是 android 地图的新手,我有一张地图 activity,当我使用自动完成功能搜索地址时会添加标记,搜索地址(街道、州、国家/地区)时一切正常,问题是,当我按麦当劳或特定建筑物等地点搜索时,自动完成功能正常,但当它应该添加标记时,activity 崩溃了。我已经有 Google maps api key 和 Google places server key
在下面添加标记代码
提前致谢!
Intent o = getIntent();
String textOrigin = o.getStringExtra("TextBoxOrigin");
List<Address> addressListOrigin=null;
if(textOrigin !=null)
{
Geocoder geocoderOrigin=new Geocoder(this);
try {
addressListOrigin=geocoderOrigin.getFromLocationName(textOrigin,1);
}catch (IOException e){
e.printStackTrace();
}
//Check if origin exist
if(addressListOrigin != null && addressListOrigin.size() > 0) {
Address addressOrigin = addressListOrigin.get(0);
LatLng latLng = new LatLng(addressOrigin.getLatitude(), addressOrigin.getLongitude());
mMap.addMarker(new MarkerOptions().position(latLng).title("your position").icon(BitmapDescriptorFactory.fromResource(R.mipmap.worker_pin2)));
mMap.moveCamera(CameraUpdateFactory.newLatLng(latLng));
CameraUpdate cameraUpdate1 = CameraUpdateFactory.newLatLngZoom(latLng, 12);
mMap.animateCamera(cameraUpdate1);
}else{
noLocationFound();
}
Geocoder 的 getFromLocationName() 方法必须 运行 在与 UI 不同的线程上,请在此处查看答案:
Can GeoCoder getFromLocation method cause a NetworkOnMainThreadException to be thrown?