2015-12-29 49 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

内容格式设置为@