Не удалось получить ответ Google Map API для анализа.IOS

Программируем под IOS
Ответить
Anonymous
 Не удалось получить ответ Google Map API для анализа.

Сообщение Anonymous »

Я использовал API Google для получения данных о ближайших местоположениях. Я выполнил вызов API и также получил правильные результаты (ответ JSON).
Это класс модели, который я создал для анализа ответа JSON:

Код: Выделить всё

class Locations: Codable {

var locationName: String?
var locationAddress: String?

enum CodingKeys: String, CodingKey {
case locationName = "name"
case locationAddress = "vicinity"

}

required init(from decoder: Decoder) throws {
let values = try decoder.container(keyedBy: CodingKeys.self)
locationName = try? values.decode(String.self, forKey: .locationName)
locationAddress = try? values.decode(String.self, forKey: .locationAddress)

}

func encode(to encoder: Encoder) throws {
var container = encoder.container(keyedBy: CodingKeys.self)
try container.encode(locationName, forKey: .locationName)
try container.encode(locationAddress, forKey: .locationAddress)

}
}
< /code>
В приведенном выше классе я упомянул только две переменные, а именно местоположение и адрес, так как я хочу отобразить только эти два значения на моем таблице. < /p>
Но после получения результатов, в этой части ниже я не могу зайти внутрь, если 
условие:

Код: Выделить всё

WebServiceClient.shared.getNearbyLocationsList(withParameters: parameters, lattitude: lattitude, longitude: longitude) { [weak self] (isSuccess, result) in
guard let `self` = self else { return }
if isSuccess, result != nil {
print("Successfully fetched nearby locations!")

//I have data in the result but it is not going into the if-let condition.
if let productService = result?["results"] as? [[String: Any]] ,
let jsonData = try? JSONSerialization.data(withJSONObject: productService as Any, options: []),
let locationsList = try? JSONDecoder().decode([Locations].self, from: jsonData) {
self.locationsList = locationsList

}
< /code>
Это небольшой фрагмент ответа API: < /p>
{
"html_attributions" : [],
"next_page_token" : "CsQEQAIAAG….”,
"results" : [
{
"geometry" : {
"location" : {
"lat" : 19.07456,
"lng" : 74.86545
},
"viewport" : {
"northeast" : {
"lat" : 19.2456,
"lng" : 74.98456
},
"southwest" : {
"lat" : 18.8564,
"lng" : 76.7745645
}
}
},
"icon" : “sdf.png",
"id" : "2e66c82c2e8d7149bd7e026089ff5dedb8346bd5",
"name" : "Mumbai",
"photos" : [
{
"height" : 2304,
"html_attributions" : [
"\u003ca href=\"https://maps.google.com/maps/contrib/111225135501811810933/photos\"\u003eRamkrishna Pudasaini\u003c/a\u003e"
],
"photo_reference" : "CmRZAAAA4WHsIxpFh…”,
"width" : 3456
}
],
"place_id" : "Chbdfbdfb_tpF0",
"reference" : "ChIJbnfgh54_tpF0",
"scope" : "GOOGLE",
"types" : [ "locality", "political" ],
"vicinity" : "Mumbai"
}
],
“status” : “OK”
}
И из этого ответа API я хотел получить данные, связанные с именем и местоположением.

Подробнее здесь: https://stackoverflow.com/questions/553 ... e-to-parse
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»