从 MKMapView 找出您所在的区域类型

Posted

技术标签:

【中文标题】从 MKMapView 找出您所在的区域类型【英文标题】:Find out which type of area you are in from MKMapView 【发布时间】:2013-03-17 16:20:28 【问题描述】:

有什么方法可以通过 MKMapView 确定您所在的区域类型? IE。如果地图的中心在海洋中,我们可以告诉用户:地图的中心在海洋之上,或者如果地图的中心在绿色区域之上:地图的中心在公园之上......

我能想到的唯一方法是创建可见屏幕的屏幕截图并使用以下方法分析每个位的颜色:ios -- detect the color of a pixel?

但是我很想知道是否有任何人都可以想到的更简单的方法!

编辑

为了更清楚我在寻找什么,我基本上是在寻找一种方法,将地图的一部分变成游戏的自上而下的关卡,不同的区域由地图的区域决定。 ..

【问题讨论】:

【参考方案1】:

CLPlacemark 有几个属性:inlandWaterocean,它们会告诉您地标何时在水中。我认为您可以从地理编码器中获取地标。

它还有areasOfInterest,可以为您提供公园和地标。

【讨论】:

知道这方面的准确性吗? 我没有广泛使用它。我用了几次,它奏效了。 areasOfInterest 不是那么完整,但水似乎很好。 好的,太好了……我会等着看是否有人有更好的想法,但如果没有,我会标记你是正确的:) 不确定我们是否会得到任何其他答案...我会在一小时左右将您标记为正确,但如果我自己找到更好的方法,我会发布我在捣鼓 api :) 我通过截取整个屏幕然后确定中心像素的颜色来实现这一点,这给了我非常准确的结果,但是我有一个问题,我想每 0.04 做一次几秒钟并以编程方式截取屏幕截图不是一个简单的过程;)【参考方案2】:

没有万无一失的方法,但 CLGeocoder 可以将地理编码反转为地址,这将为您提供如下内容:

0/0 = ....,海洋 51/10 = ...,德国 -90/10 = .....,美国

等等

【讨论】:

请注意,这些数字是编造的——我无法在脑海中进行地理编码:D 谢谢你,但我正在寻找更准确的方法,即确定一个点是在道路上方还是在道路旁边的建筑物上.. e.t.c :/ 但是感谢您的提示!

以上是关于从 MKMapView 找出您所在的区域类型的主要内容,如果未能解决你的问题,请参考以下文章

iOS 5 中无效的 MKMapView 区域

按两点之间的距离设置区域

MKMapView 与其区域属性未对齐

MKMapView 缩放和区域

MKMapView 区域属性返回错误结构

xcode:打印 MKMapView 区域、跨度、latitudeDelta、longitudeDelta