2

我想在地图加载后添加一个动画。我的问题是,我不知道地图什么时候准备好。如果我在“setUpMapIfNeeded”功能之后开始动画,我会看到动画,但没有地图内容。

是否有任何功能可以告诉我何时加载地图内容?

4

2 回答 2

0

我遇到了类似的问题,并以子类化 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
}
}
于 2013-04-10T09:23:43.080 回答
0

是的,这是地图片段的 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;
    }
于 2015-07-15T13:18:48.987 回答