我正在編寫一個Android應用程序,其中包含使用Google Maps API的地圖。如何使用適用於Android中Google Maps API的設備像素密度的自定義貼圖?
我使用自己的擴展名com.google.android.gms.maps.model.UrlTileProvider
加載自定義地圖圖塊。
我有兩套地圖拼貼:一種是爲高密度屏幕設計的,另一種是爲低密度屏幕設計的。較高密度的地圖圖塊集具有較大的文字等等。這兩組都使用256x256像素的地圖圖塊大小。
DisplayMetrics displayMetrics = context.getResources().getDisplayMetrics();
Float density = displayMetrics.xdpi/DisplayMetrics.DENSITY_DEFAULT;
到目前爲止好:
我從獲得取決於屏幕密度兩組之間切換。
根據密度顯示適當的地圖圖塊集合,因爲它應該如此。然而,在更高密度的設備(其中許多像素被視爲一個邏輯密度無關像素(DiP/DP))中,每個地圖塊像素被縮放以匹配一個設備DiP/DP。換句話說,設備功能越高,地圖圖塊渲染時的外觀就越差。
我一直玩構造函數的寬度/高度,但他們似乎沒有任何效果。
而且我無法在Google Maps API中找到任何設置來幫助我解決問題。
我還沒有在stackoverflow或其他網站上找到任何解決方案。
有誰知道如何解決我的問題?
您是否嘗試過針對不同的DPI使用不同的圖像尺寸? 384爲HDPI,512爲XHDPI等。 –
@MaciejGórski:感謝您的迴應!恐怕你的建議不能成爲我的解決方案,因爲地圖圖塊是從我沒有的外部服務加載的。不過,如果您確實控制地圖平鋪服務,那麼您的建議值得研究。 –
您是否找到Steinar解決方案? – aez