嗨我是新的android地图,我有一个地图活动,当我搜索自动完成的地址时添加标记,一切正常搜索地址(街道,州,国家),问题是当我按地方搜索时麦当劳或特定建筑物的自动完成工作正常,但当它应该添加标记时,活动崩溃。我已经有谷歌地图api密钥和谷歌放置服务器密钥
在下面添加标记代码
提前谢谢! 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();
}
答案 0 :(得分:0)
Geocoder的getFromLocationName()方法必须在与UI的单独线程上运行,请在此处查看答案:
Can GeoCoder getFromLocation method cause a NetworkOnMainThreadException to be thrown?