使用自动完成功能搜索地点后地图 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?