在iphone上的地图视图热图…?
我的客户想要显示所有国家的热图,他们从哪里收到更新。 就好像他的一家商店在美国closures了一样,他希望我把整个国家变成红色,如果在巴西开了一个新的,那么它应该显示绿色的巴西。 而当我点击巴西它放大,并显示销商注释开幕和closures的商店。
所以我的问题是有人可以指导我如何在特定的颜色在地图视图上显示特定的国家。
提前致谢。
那么我已经find了解决这个..这是我怎么做..
-
你需要得到我从http://thematicmapping.org/downloads/world_borders.php获得的国家边界的协调。 你可以得到数据集并使用QGIS软件从这里http://hub.qgis.org/projects/quantum-gis/wiki/Download将.shp文件转换成.kml格式。
-
现在从KML中提取边界坐标,然后用它在地图上绘制MKPolygon。
这就是它的样子
希望这有助于某人。
我希望你们被低估了,因为StackOverflow社区喜欢那些一心一意解决问题,做点事情,研究和考虑问题的人,然后问一个可以回答几个段落的问题。
问一个问题:“有人问我做这个事情,而不是想着我怎么尝试,我只是来到这里”,让你低调。
您可以在MapKit中执行此操作,方法是跟踪所有国家和使用MKPolygon重新创build其多边形,但要获取该多边形数据将是一个非常困难的手动过程。
可能更容易的是从库存艺术网站上find世界的vector地图,然后在Photoshop中剪切出每个国家,并将其作为单独的绿色位图导出,具有透明背景,因此您可以为每个国家和单独的图像分别创build一个图像与红色的所有国家的背景图像。
然后,在您的应用程序中,将地图图像放入启用缩放的UIScrollview中。 如果你需要变焦很远,你需要使用一个CATiledLayer,并且将图像更多的剪切掉,但是为了达到你的目的,你可能会得到一个大约2-3倍于iPhone屏幕大小的图像。
当一个国家有一个新的商店时,你需要把这个商店的位置与地图上的国家形象位置进行比较(可能最简单的做法是只保留一个商店的内部字典而不是国家,而不是试图从他们的计算GPS位置),并在地图的滚动视图内绘制合适的绿色图像。
然后,当您放大时,将商店作为小图像绘制在地图上的正确位置。 再一次,你需要手动完成所有这些职位,并将其存储在Plist或其他东西中。
很显然,这样做的每一步都可能是一个StackOverflow问题,但是试一试,看看你卡在哪里,然后再回来问一些问题。