我想在地图加载后添加一个动画。我的问题是,我不知道地图什么时候准备好。如果我在“setUpMapIfNeeded”功能之后开始动画,我会看到动画,但没有地图内容。
是否有任何功能可以告诉我何时加载地图内容?
我想在地图加载后添加一个动画。我的问题是,我不知道地图什么时候准备好。如果我在“setUpMapIfNeeded”功能之后开始动画,我会看到动画,但没有地图内容。
是否有任何功能可以告诉我何时加载地图内容?
我遇到了类似的问题,并以子类化 MapFragment 并在以下位置调用回调接口结束onViewCreated
:
public class TLMapFragment extends SupportMapFragment {
private TLMapCallBack callback;
public interface TLMapCallBack{
public void onMapCreated();
}
public static TLMapFragment newInstance(TLMapCallBack callback){
TLMapFragment fragment = new TLMapFragment();
fragment.callback = callback;
return fragment;
}
public TLMapFragment(){
callback = null;
}
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
Log.v(TAG, "onViewCreated");
initMap();
if(callback != null)
callback.onMapCreated();
}
private void initMap(){
//init map here
}
}
是的,这是地图片段的 onCreateview 示例
@Override
public View onCreateView(LayoutInflater arg0, ViewGroup arg1, Bundle arg2) {
View v = super.onCreateView(arg0, arg1, arg2);
// init map
mGoogleMap = getMap();
// map loaded
mGoogleMap.setOnMapLoadedCallback(new GoogleMap.OnMapLoadedCallback() {
@Override
public void onMapLoaded() {
Log.d(LOG_CATEGORY, "map loaded");
// do other stuff
}
});
return v;
}