我在这行代码中遇到错误(72)。我已经在论坛中进行了搜索,但还没有解决,我尝试更改为getMapAsync();
似乎这个功能已经过时但是我在互联网上找到的代码我不知道如何更新它。
Box
答案 0 :(得分:0)
问题是运行onCreate
时地图实例化没有完成。当您收到Map
已完成加载的回调时,您必须根据地图开始执行任务。
答案 1 :(得分:0)
您应该尝试获取地图异步,类似:
public class FindLocationActivity extends AppCompatActivity implements
OnMapReadyCallback {
private GoogleMap map;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_find_location);
SupportMapFragment mapFragment =
(SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map);
mapFragment.getMapAsync(this);
}
@Override
public void onMapReady(GoogleMap map) {
this.map = map;
//from this moment do whatever you want to do with map
}
}
当你调用 getMap()并且你得到null时,你可能会收到错误,因为地图还没准备好。为了防止它,你总是得到地图异步,当它准备就绪时,对它进行一些操作。