不可能的任务?iphone或android中的谷歌地图遮罩效果

不可能的任务?iphone或android中的谷歌地图遮罩效果,android,iphone,ios,google-maps,Android,Iphone,Ios,Google Maps,我想出了一个主意,在谷歌地图上有一个遮罩效果,这样可以突出一个城市。但是我在互联网上搜索了一次又一次,没有找到关于这个的文件。 那么,有没有可能在android或ios上制作出与下面效果一样的遮罩效果呢?那怎么做呢 所以这里有两个问题。第一个是从哪里获取边界数据,第二个是如何在地图上绘制边界数据 首先回答第二部分,如果您使用的是iOS地图视图(MKMapView):您需要查看MKPolygonView。您完全可以高亮显示任意多边形,但通常的高亮显示效果看起来像多边形内部的彩色覆盖 因此,要做的事

我想出了一个主意,在谷歌地图上有一个遮罩效果,这样可以突出一个城市。但是我在互联网上搜索了一次又一次,没有找到关于这个的文件。 那么,有没有可能在android或ios上制作出与下面效果一样的遮罩效果呢?那怎么做呢


所以这里有两个问题。第一个是从哪里获取边界数据,第二个是如何在地图上绘制边界数据

首先回答第二部分,如果您使用的是iOS地图视图(
MKMapView
):您需要查看
MKPolygonView
。您完全可以高亮显示任意多边形,但通常的高亮显示效果看起来像多边形内部的彩色覆盖

因此,要做的事情是制作一个覆盖整个国家的巨大多边形,将您的区域作为多边形中的一个洞。我相信,这就是你的演示所做的。您可以使用
polygonWithPoints:count:interiorPolygons:
方法制作一个
MKPolygon
,并将“孔”作为要剪切的内部多边形传入


关于第一部分,如何获取数据:您需要的是一组纬度/经度对,它们构成您所在区域的边界。您使用的示例是瑞士的行政边界。你需要找到一个包含你感兴趣的国家城市边界的数据集。我可以想象你会将边界坐标存储在应用程序中嵌入的数据库中。

thanx你提到的
MKPlolygonView
给了我一个实现的希望,但让我担心的是,当地图放大缩小时,当地图被拖来拖去时,如何计算多边形的变化。无论如何,thanx很多。我想我应该先检查一些文档,你不需要-它负责计算多边形的位置并将其与地图对齐。