Articles of 谷歌地图

如何知道在使用SupportMapFragment时地图已准备好使用?

在onCreate方法中,我正在使用SupportMapFragment来显示地图。 SupportMapFragment fragment = new SupportMapFragment(); getSupportFragmentManager().beginTransaction() .add(android.R.id.content, fragment).commit(); 结合这一点,我想添加一个标记。 问题是什么时候getMap的调用是空的,什么时候可以再试一次? 有没有我可以注册的事件,或者我的方法本身是错误的? mMap = ((SupportMapFragment)(getSupportFragmentManager().findFragmentById(R.id.map))).getMap(); if(mMap == null) //what do I do here? 地图实际上显示在手机上,但是我似乎没有运气来获得添加标记的参考。 更新: 我通过构造函数创buildSupportMapFragment的原因是典型的setContentView崩溃,无法正常工作。 这使我陷入了困境,因为我当时实际上正在创buildSupportMapFragment ,所以无法在onCreate方法中获得我的引用。 在进一步调查中,似乎我的setContentView问题是没有将Google-play-services jar和module / src设置为整个项目的一部分的副产品。 在做这两个, setContentView现在的作品,我可以通过getMap() ,我所期望的参考。 lots.xml … <?xml version="1.0" encoding="utf-8"?> <fragment xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/map" android:name="com.google.android.gms.maps.SupportMapFragment" android:layout_width="match_parent" android:layout_height="match_parent" /> LotsActivity.java … public class LotsActivity extends FragmentActivity { […]