Я использую Google reverseGeocodeCoordinate
, чтобы получить адрес, основанный на широте и долготе.
Я получаю следующую ошибку в реализации
Неоднозначная ссылка на элемент joinWithSeparator
Ниже приведена моя реализация:
let aGMSGeocoder: GMSGeocoder = GMSGeocoder()
aGMSGeocoder.reverseGeocodeCoordinate(CLLocationCoordinate2DMake(17.45134626, 78.39304448)) {
(let gmsReverseGeocodeResponse: GMSReverseGeocodeResponse!, let error: NSError!) -> Void in
let gmsAddress: GMSAddress = gmsReverseGeocodeResponse.firstResult()
print("lines=\(gmsAddress.lines)")
let addressString = gmsAddress.lines.joinWithSeparator("")
print("addressString=\(addressString)")
}
Я пытаюсь создать addressString
с элементами в массиве gmsAddress.lines
', но в итоге появляется сообщение об ошибке.
Реализован фрагмент образца для тестирования 'joinWithSeparator
'
let sampleArray = ["1", "2", "3", "4", "5"]
let joinedString = sampleArray.joinWithSeparator("")
print("joinedString=\(joinedString)")
Это удалось.
Что я наблюдаю, "sampleArray
" - это массив элементов типа String
, но "gmsAddress.lines
" - это массив элементов типа "AnyObject
", найденный в библиотеке "GMSAddress
":
/** An array of NSString containing formatted lines of the address. May be nil. */
public var lines: [AnyObject]! { get }
Итак, Каковы возможные способы достижения следующей строки без цикла массива:
let addressString = gmsAddress.lines.joinWithSeparator("")