2014-02-27 31 views
0

我有一張地圖,顯示幾點。如果用戶搜索位置而不是使用其默認位置,則也會爲搜索到的位置顯示地標。此地標默認顯示infowindow。所有這些點都顯示在屏幕上(使用邊界框)。但是,雖然我可以考慮在邊界框內的屏幕上顯示的地標,但我目前無法確定它的infowindow在屏幕上是完全可見的。例如,如果地標是最東北的項目,則它的infowindow將在屏幕的頂部和右側溢出。谷歌地圖Android - 如何訪問默認infowindow?

有什麼辦法可以獲得標記的infowindow?我知道我可以使用CustomWindowAdapter創建一個,然後訪問該視圖,但我不想自定義它,只是爲了能夠訪問它(並且不能僅從showWindowAdapter中調用show或hideinfowindow()標記)。

理想情況下,我可以以像素爲單位獲取infowindow的高度和寬度,並使用它來確保它始終完全顯示在屏幕上。

+0

您可以嘗試使用'Handler'和'Marker.showInfoWindow()'來處理這個問題。 –

回答

0

不,你不能。您在地圖視圖中看到的「信息窗口」只不過是由InfoWindowAdapter創建的視圖的緩衝快照(或者屏幕轉儲,如果您願意),這意味着它不是添加到視圖層次結構的傳統視圖,而是它在OpenGL上下文中顯示的圖像。

在showInfoWindow()之後訪問或操作此視圖與顯示在地圖上的內容沒有任何區別,至少在再次調用showInfoWindow()以拍攝新快照之前。

這與您無法在信息窗口中添加長按偵聽程序的原因相同。