2015-12-29 47 views
1

我想在我的android應用程序中使用類似於地圖箱黑暗主題的主題來開發地圖,我也想使用熱圖。我在考慮三種解決方案,但所有解決方案都有問題熱圖和黑暗主題:谷歌地圖vs地圖箱

1°解決方案:使用本地Google地圖及其對熱圖的支持。這裏的問題在於沒有類似於Mapbox黑暗主題的MapFragments風格主題。

2°解決方案:通過MapBox使用本地MapView aar。這裏的問題是,我對從MapBox Android SDK支持熱圖一無所知。

3°解決方案:使用UrlTileProvider加載自定義拼貼,並將其放置在本地Google地圖上,並通過mapbox拼貼使用原生熱圖支持。這裏的問題在於,當我從url加載它時,該圖塊非常難看,因爲文本和圖像是像素化的。

也許我在這個解決方案之一(或所有)中做了任何錯誤。有什麼更好的想法做我需要的?

回答

0

我使用Google Maps解決了我的問題,並通過Github上的custom UrlTileProvider加載了我的Mapbox主題。這個用例是我的問題中描述的第三個解決方案,所以我如何在上面說過,使用這個解決方案我正在加載一個低質量的像素化圖像和文本瓷磚。

爲了解決這個問題,我不得不花費大量時間閱讀MapBox文檔,並且發現可以將圖像分辨率爲2X(描述爲here)加載到該圖像。

基本上,加載MapBox的2倍分辨率和獲得的谷歌地圖功能的優勢,我們應該給:

恰克

{http or https}://api.tiles.mapbox.com/v3/{map id}/{z}/{x}/{y}.png 

https://api.tiles.mapbox.com/v4/{map id}/{z}/{x}/{y}@2x.png?access_token={your access token} 

顯然,你應該到由於此處使用的String.format,請更改getTileUrl方法。

所以基本上加載具有良好分辨率的MapBox瓷磚並獲得谷歌地圖functionallity的優勢,我們需要使用V4 mapbox web服務和2x.png

內容格式設置爲@