1

http://www.econguru.com/heat-map-of-worldwide-gdp-ppp-per-capita-2008/

这是 CIA 世界概况地图,每个国家根据其 GDP 数字有不同的颜色深度。GDP高的国家颜色更深。

现在,我正在考虑将这种效果开发到我的 iPhone/iPad 地图应用程序中。我可能想使用苹果地图(可能不是谷歌地图,因为 iOS 6 有自己的地图),但我不确定如何根据用户访问的国家/地区获得这种效果。

例如,用户访问美国的次数最多,则地图显示美国的颜色较深。

我还没有在 iPhone 应用程序中看到这样的效果。任何建议将不胜感激!

4

3 回答 3

0

这应该可以使用 MapKit 和叠加层来实现。您需要为热图的每个区域构建一个叠加层,然后根据数据设置颜色。我怀疑最难的部分是获取为每个区域构建路径所需的地理数据。AFAICT,MapKit 中没有函数-pathForState:-pathForCountry:函数类型,因此您将需要找到该信息的另一个来源。但就绘制叠加层而言,这一切都在 MapKit 中。查看此示例代码

编辑:

这个问题有一些关于从哪里获取数据的指示。

于 2013-01-20T14:28:55.660 回答
0

您可以从 github 上的 D3 项目获取 json 格式的坐标: https ://github.com/latentflip/d3/blob/master/data/world-countries.json

您可以下载此 json,将 NSJsonSerialization与文件一起使用以将 json 加载到 Dictionary 或数组中,然后从那里构建您的叠加层。

另一件事:从技术上讲,您并不追求热图;你所追求的更像是一张“专题”地图。

于 2013-01-21T17:19:23.090 回答
0

试试 LFHeatMap 类。似乎是您正在寻找的东西。 https://github.com/gpolak/LFHeatMap

于 2014-07-31T19:51:31.957 回答