Обратный геокод для данного длинного широта дает неполные адресные результаты для приложения iOS по сравнению с GET API
В моем iOS-приложении я пытаюсь получить подробную информацию об адресе в течение долгого времени (18.557121460659193, 73.793425261974335). Я использую следующий код для получения подробной информации об адресе.
func reverseGeoCode() {
let gmsCoder = GMSGeocoder()
gmsCoder.reverseGeocodeCoordinate(CLLocationCoordinate2DMake(18.557121460659193, 73.793425261974335), completionHandler: { (response, error) in
if let address = response?.firstResult() {
let lines = address.lines! as [String]
let completeAddress = lines.joined(separator: " ")
print(completeAddress)
print(response?.results())
}
})
}
В ответ я получаю объект GMSReverseGeocodeResponse, который содержит результаты в виде массива объектов GMSAddress.
массив результатов содержит 7 объектов, и первый полученный компонент адреса показан ниже.
some : 7 elements
- 0 : GMSAddress {
coordinate: (18.557121, 73.793425)
lines: S.No.3, Baner Road, Riviresa Society, Baner, Pune, Maharashtra 411045
thoroughfare: S.No.3 Baner Road
subLocality: Riviresa Society
locality: Pune
administrativeArea: Maharashtra
postalCode: 411045
country: India
}
Однако это не подробный адресный результат, который получен.
Когда я пытаюсь получить подробный адрес, используя GET API
Я получаю количество массивов результата как 10. Также первые детали адреса примерно такие
{
"results" : [
{
"address_components" : [
{
"long_name" : "Omkar Building",
"short_name" : "Omkar Building",
"types" : [ "premise" ]
},
{
"long_name" : "Baner Road",
"short_name" : "Baner Rd",
"types" : [ "route" ]
},
{
"long_name" : "Baner",
"short_name" : "Baner",
"types" : [ "political", "sublocality", "sublocality_level_1" ]
},
{
"long_name" : "Pune",
"short_name" : "Pune",
"types" : [ "locality", "political" ]
},
{
"long_name" : "Pune",
"short_name" : "Pune",
"types" : [ "administrative_area_level_2", "political" ]
},
{
"long_name" : "Maharashtra",
"short_name" : "MH",
"types" : [ "administrative_area_level_1", "political" ]
},
{
"long_name" : "India",
"short_name" : "IN",
"types" : [ "country", "political" ]
},
{
"long_name" : "411045",
"short_name" : "411045",
"types" : [ "postal_code" ]
}
],
"formatted_address" : "Omkar Building, Baner Rd, Baner, Pune, Maharashtra 411045, India",
"geometry" : {
"bounds" : {
"northeast" : {
"lat" : 18.5572967,
"lng" : 73.79350599999999
},
"southwest" : {
"lat" : 18.5570646,
"lng" : 73.79327309999999
}
},
"location" : {
"lat" : 18.5571293,
"lng" : 73.793358
},
"location_type" : "ROOFTOP",
"viewport" : {
"northeast" : {
"lat" : 18.5585296302915,
"lng" : 73.7947385302915
},
"southwest" : {
"lat" : 18.5558316697085,
"lng" : 73.79204056970849
}
}
},
"place_id" : "ChIJD2Vxati-wjsRROyg_2yMD50",
"types" : [ "premise" ]
},
Первый компонент адреса, показанный здесь, является точным адресом, который также должен отображаться, когда я пытаюсь получить подробности, используя API-интерфейс reversegeocode в приложении iOS.
Я также реализовал обратное геокодирование в приложении Android, и приложение Android отображает детали адреса, такие как первый компонент адреса API-интерфейса GET.
Может кто-нибудь, пожалуйста, помогите мне определить, почему я получаю массив неполных компонентов адреса по сравнению с GET API и Android-приложения. Любая помощь по этому вопросу будет высоко ценится.
Среда - версия для iOS: iOS 11.1 Google Maps SDK для iOS, версия: 2.4.0