編輯:
- 這個答案是最適合年長谷歌地圖的API。在谷歌地圖V2這 事情已經給出。
你可以從
https://github.com/galex/android-mapviewballoons
你可以從「BalloonItemizedOverlay.java」的方法選擇氣球的代碼如下
private void hideOtherBalloons(List<Overlay> overlays) {
for(int i=0; i<overlays.size();i++){
if (overlays.get(i) instanceof BalloonItemizedOverlay<?> && overlays.get(i) != this) {
((BalloonItemizedOverlay<?>) overlays.get(i)).hideBalloon();
}else{
BalloonOverlayView.SELECTED_BALLOON = i;
Log.i(i+" : Baloon Open", BalloonOverlayView.SELECTED_BALLOON+"");
}
}
}
設置,您可以使用setBalloonData數據BalloonOverlayView.java文件的方法如下:
protected void setBalloonData(Item item, ViewGroup parent) {
if (item.getTitle() != null) {
title.setVisibility(VISIBLE);
title.setText(item.getTitle());
} else {
title.setText("");
title.setVisibility(GONE);
}
if (item.getSnippet() != null) {
snippet.setVisibility(VISIBLE);
snippet.setText(item.getSnippet());
} else {
snippet.setText("");
snippet.setVisibility(GONE);
}
}
android-mapviewballoons應該使用幾乎相同的API。你沒有嘗試將其移植到osmdroid? – Macarse 2012-02-20 14:11:21
我正在嘗試,但我正在調試(我沒有觸發事件觸發例如)。但是,由於我看到了不少看起來漂亮的信息泡泡的項目,我認爲我錯過了移植mapviewballoons更簡單的事情。 – Vivi 2012-02-20 14:50:19