簡體   English   中英

Google Maps Android v2-檢測標記InfoWindow關閉

[英]Google Maps Android v2 - Detecting Marker InfoWindow Close

現在,我有一些標記,單擊這些標記后,便會在后台自動刷新其信息窗口的內容。

事實是,一旦用戶關閉信息窗口(例如單擊地圖上的其他位置),后台任務仍然繼續。

有沒有一種方法可以檢測何時關閉標記InfoWindow,以便隨后可以關閉任務?

您可以在地圖上使用setOnMapClickListener,並且可以在onMapClick方法內檢查任務是否仍在運行,如果是,則結束任務。

您一次只能打開一個InfoWindow ,這意味着您可以跟蹤打開的InfoWindow

mMap.setInfoWindowAdapter(new GoogleMap.InfoWindowAdapter() {
    @Override
    public View getInfoWindow(Marker marker) {
        Log.e(TAG, "Info window requested for " + marker);
        mLastMarker = marker;
        return null; // Returning null will load the default InfoWindow
    }

    @Override
    public View getInfoContents(Marker marker) {
        return null;
    }
});

現在,在每個地圖上單擊,您可以檢查特定標記上的任務是否仍在運行:

mMap.setOnMapClickListener(new GoogleMap.OnMapClickListener() {
    @Override
    public void onMapClick(LatLng latLng) {
        if (mLastMarker != null) {
            mLastMarker = null;
            // Stop task
        }
    }
});

如果需要,還可以在更改InfoWindow時停止任務:

@Override
public View getInfoWindow(Marker marker) {
    if (mLastMarker != null) {
        // Stop task for mLastMarker
    }

    Log.e(TAG, "Info window requested for " + marker);
    mLastMarker = marker;
    return null; // Returning null will load the default InfoWindow
}

暫無
暫無

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

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