2

是否可以检查CLPlacemark's名称是否为街道地址?

如果它是购物中心、主题公园、学校或其他有趣的东西,我想显示名称,但如果它是街道地址则不显示。

我正在考虑使用这样的正则表达式来检查名称是否是街道地址

^\d+ ([a-zA-Z0-9'-] ?)+$

但我觉得这并不总是有效,尤其是在其他国家。

有什么方法可以检查 CLPlacemark 的名称是否是街道地址,例如检查地标的大小,还是我必须使用第三方库?

4

2 回答 2

1

尝试name对照 CLPlacemark 的thoroughfare(street) 和subThoroughfare(street number) 检查。

var placemark: CLPlacemark
if placemark.name.rangeOfString(placemark.thoroughfare) != nil
    && placemark.name.rangeOfString(placemark.subThoroughfare) != nil {
        println("Name is likely the same as address")
} else {
    println("Name is distinct from street address")
}
于 2015-08-27T05:07:42.417 回答
0

您还可以检查一个 CLPlacemark 属性“AreaOfInterest”。这通常被标记为具有一般类别的区域,如机场、购物中心、学校、博物馆等。

由于您想要删除本质上不感兴趣的任何内容,也许这个领域会为您完成工作?

于 2015-08-27T11:41:21.140 回答