Проверьте, является ли имя CLPlacemark адресом
Можно ли проверить, действительно ли CLPlacemark's
имя уличный адрес?
Я хотел бы показать название, если это торговый центр, тематический парк, школа или что-то еще интересное, но не если это адрес улицы.
Я думал об использовании такого регулярного выражения, чтобы проверить, является ли название улицей
^\d+ ([a-zA-Z0-9'-] ?)+$
Но я чувствую, что это не всегда будет работать, особенно в других странах.
Есть ли способ проверить, является ли имя CLPlacemark уличным адресом, например, проверить размер метки, или мне придется использовать стороннюю библиотеку?
2 ответа
Попробуйте проверить name
против клейма thoroughfare
(улица) и subThoroughfare
(номер улицы).
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")
}
Существует также свойство CLPlacemark "AreaOfInterest", которое вы можете проверить. Это часто помечается для областей, которые имеют общую категорию, таких как аэропорты, торговые центры, школы, музеи и т. Д.
Поскольку вы хотите удалить все, что по сути не является областью интересов, может быть, эта область подойдет вам?