我正在尝试使用MapFragment,而不是用于API 11及更低版本的SupportMapFragment。
问题是我遇到了地图参考,所以我可以设置一些标记。我已经尝试了一切,从扩展MapFragment到以各种方式使用回调,几乎读取所有线程(几乎所有线程都处理SupportMapFragment),无论我得到什么空指针异常。
所以,我已经将地图片段添加到我的活动中(添加了这个工程图):
com.google.android.gms.maps.MapFragment map = new com.google.android.gms.maps.MapFragment();
activity.getFragmentManager().beginTransaction()
.add(activity.findViewById(R.id.flFrame).getId(), map)
.commit();
如何获取地图参考和设置标记?
答案 0 :(得分:2)
如果您使用的是Google Play Services 6.5或更高版本,则现在有一个名为getMapAsync
的getMap方法的异步版本。从MapFragment文档:
必须使用getMapAsync(OnMapReadyCallback)获取GoogleMap。该类自动初始化地图系统和视图。
您可以在onMapReady
callback中执行与地图相关的所有设置。在该回调中返回给您的GoogleMap对象永远不会为null:
在MapFragment或MapView对象上设置此接口的实例后,当地图准备好使用时会触发onMapReady(GoogleMap)方法并提供GoogleMap的非空实例。