热图和黑暗主题:谷歌地图与地图集

时间:2015-12-29 01:14:23

标签: android google-maps mapbox heatmap

我想在我的Android应用程序中使用类似于mapbox的黑暗主题的主题开发地图,我也想使用热图。我正在考虑三种解决方案,但所有这些解决方案都存在问题

1°解决方案:使用原生谷歌地图及其对热图的支持。这里的问题是MapFragments的样式主题与Mapbox黑暗主题类似。

2°解决方案:使用MapBox aar的原生MapView。这里的问题是我对MapBox Android SDK的支持热图一无所知。

3°解决方案:使用UrlTileProvider加载自定义磁贴并将其放在原生Google地图上,并使用地图集磁贴上的原生热图支持。这里的问题是,当我从网址加载时,磁贴非常难看,因为文本和图像都是像素化的。

也许我在其中一个(或全部)解决方案中做错了什么。做我需要的更好的主意是什么?

1 个答案:

答案 0 :(得分:0)

我使用Google地图解决了我的问题,并通过Github上提供的custom UrlTileProvider加载我的Mapbox主题。这个用例是我的问题中描述的第三个解决方案,所以我上面说的,使用这个解决方案,我正在加载一个带有像素化图像和文本的低质量平铺。

为了解决这个问题,我不得不花费大量时间阅读MapBox文档,我发现可以将2x分辨率(描述为here)的图块加载到图像中。

基本上,要加载MapBox的2倍分辨率并获得Google Maps功能的优势,我们应该:

Chage

{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}

显然你应该更改getTileUrl方法,因为这里使用了String.format。

所以基本上加载具有良好分辨率的MapBox图块并获得Google Maps功能的优点,我们需要使用v4 mapbox webservices并将内容格式设置为@ 2x.png