2012-03-13 21 views
0

我有兩個只有顏色不同的位圖。綠色地圖用於繪製地圖視圖上的興趣點,藍色則顯示設備當前的位置。我從資源目錄加載位圖,並以相同的方式將它們轉換爲BitmapDrawable對象。Android地圖視圖特定圖像圖標是默認圖像大小的一半

我將綠色位圖繪製爲地圖視圖覆蓋圖的默認圖像;對於POI點,我只是將它們添加到圖層中,以便它們拾取默認(綠色)圖像。

對於當前位置項目,我明確設置了將點添加到同一覆蓋圖層時繪製的藍色位圖。

正常興趣點和當前位置之間的唯一區別是當前位置具有可繪製的特定(藍色)位圖,而正常興趣點會選取可繪製的疊加層默認(綠色)位圖。位圖來自photoshop(保存爲網頁),只有不同的顏色。

但是,當我顯示地圖時,當前位置點的圖標圖像是默認圖像大小的一半。在任何縮放級別都是如此。我已經通過調整當前位置(藍色)位圖的大小來使其變爲綠色位圖大小的兩倍,現在您無法區分這種差異。所以這絕對是圖像繪製中的一些縮放類型。

我看不到任何有關設置比例因子的Google地圖類的接口。

雖然我將特定的(藍色)圖標加倍工作,但我非常想知道自己做得不對。我忘了什麼?

回答

0

首先,我會說爲您的位置引腳使用單獨的疊加層,不建議將它們添加到相同的ItemizedOverlay。

確保您爲所設置的任何自定義設置了boundToBottom()。從內存中疊加不會調整drawable的大小,所以這聽起來像是當您設置單獨的自定義藍色引腳時,您沒有正確設置drawable。 boundBottom或boundBottomCenter需要設置,否則會混淆覆蓋。

此外,只檢查您的繪圖是否在一個dpi可繪製文件夾。 (最常用的是drawable-hdpi)。

+0

謝謝。我做了(做)有一個單獨的層爲當前位置,但在我的調試中,我將引腳移動到同一層,以簡化事情。這兩個圖層的創建方式相同,不同的默認圖像從資源可繪製文件中加載。事情必然會觸底。至少這就是我的想法 - 我需要逐行檢查,看看我的愚蠢行爲,因爲疊加層不是縮放的。 – Colin 2012-03-14 13:56:15

+1

Aargh - 在您的評論的幫助下,新鮮的眼睛發現了一個愚蠢的錯字,以hdpi文件名命名,這意味着它拾取了直接的可繪製文件而不是drawable-hdpi文件,當然這只是其大小的一半。感謝指針。 – Colin 2012-03-14 14:25:07

+0

很好,是的,嘗試使用相同的名稱來處理不同大小的相同資源,這樣設備就會選擇正確的名稱。 (和你減少錯別字;)) – 2012-03-19 10:00:46

相關問題