簡體   English   中英

Google Maps API v2多個地圖片段問題

[英]Google Maps API v2 multiple map fragment problems

我已經嘗試了新的谷歌地圖api v2的幾個問題

我有一個包裝mapFragment的片段,這是在應用程序的乞討時創建的。

在用戶單擊按鈕時創建的另一個片段,此內容為另一個mapFragment。

但是這張地圖顯示了第一個片段上顯示的第一張地圖。 它也凍結了,不能對它采取行動......

我已經讀過一些用戶在顯示多地圖時遇到問題。 知道怎么解決這個問題?

這是我創建地圖的方式:

mMapFragment = (SupportMapFragment) this.getActivity().getSupportFragmentManager()
            .findFragmentByTag(MAP_FRAGMENT_TAG);

    // We only create a fragment if it doesn't already exist.
    if (mMapFragment == null) {
        // To programmatically add the map, we first create a
        // SupportMapFragment.
        mMapFragment = SupportMapFragment.newInstance();
        mMapFragment.setRetainInstance(false);
        // Then we add it using a FragmentTransaction.
        FragmentTransaction fragmentTransaction = this.getActivity().getSupportFragmentManager()
                .beginTransaction();
        fragmentTransaction.add(R.id.ly_map, mMapFragment,MAP_FRAGMENT_TAG);
        fragmentTransaction.commit();
    } else {
        dbug.log("Restoring map");
        mMapFragment.setRetainInstance(false);
        mMap = mMapFragment.getMap();
    }

    // We can't be guaranteed that the map is available because Google Play
    // services might
    // not be available.
    setUpMapIfNeeded();

沒有人回答,所以我終於自己成功了。

所以我將與其他人分享同樣的問題。 如果你有幾個片段並且你嘗試將兩個或多個地圖(谷歌地圖)接縫實例化以獲取之前保存的相同實例,即使您使用了SupportMapFragment.newInstance(),也會發現存在錯誤。

無論如何,你應該做的是在打開新地圖之前總是關閉地圖,所以如果要顯示第二個地圖,首先要刪除前一個地圖的片段。 然后實例化一個新的並添加到對應的布局。

這不是一個非常好的解決方案,因為它意味着每次都打開和關閉地圖,但這是我能找到的最好的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM