簡體   English   中英

如何在Android中的Google Maps API中使用適合設備像素密度的自定義切片?

[英]How can I use custom tiles that are adapted to the device's pixel density in Google Maps API in Android?

我正在編寫一個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。 換句話說,設備的密度越高,地圖圖塊在渲染時的外觀就越差。

我一直在使用UrlTileProvider構造函數寬度/高度玩一會兒,但它們似乎沒有任何效果。

我在Google Maps API中找不到任何設置來幫助我解決問題。

我還沒有在stackoverflow或其他網站上找到任何解決方案。

有誰知道如何解決我的問題?

您可以從相應的drawable文件夾中將您的切片檢索為Drawable ,而不是嘗試手動解析分類器。

如果您不控制服務器,則無法控制質量。

您可以從縮放級別加載4個圖像,然后將它們合並到512 x 512大小的位圖中,以便在xhdpi設備上使用。 我首先檢查TileProvider是否正確處理更大的圖像。

暫無
暫無

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

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