Azure / Azure/azure-sdk-for-java
[BUG] MapsSearchClient.getReverseGeocoding() always returns null for MapsSearchAddressCountryRegion.getIso()
- Dominant language
- Java
- Stars
- 2.6k
- Forks
- 2.2k
- Avg merge
- 2d 8h
- Merged PRs (30d)
- 178
Description
**Describe the bug**
When requesting an address via the method `getReverseGeocoding` of the `MapsSearchClient`, the `iso` value of the country region is always `null`.
The reason seems to be a wrong field matcher in the `MapsSearchAddressCountryRegion.fromJson()` method. The response field is named `"iso"` but the matcher checks for `"ISO"`.
**To Reproduce**
Steps to reproduce the behavior: (Kotlin)
```
val result = mapSearchClient.getReverseGeocoding(
GeoPosition(-122.138681, 47.630358),
listOf(ReverseGeocodingResultTypeEnum.ADDRESS, ReverseGeocodingResultTypeEnum.COUNTRY_REGION),
"Auto"
)
val iso = result.features.firstOrNull()?.properties?.address?.countryRegion?.iso
```
**Expected behavior**
I'd expect the value to be filled by the iso code.
**Screenshots**
Debugged `fromJson` mapping function of `MapsSearchAddressCountryRegion`:

Query result:

**Setup (please complete the following information):**
- OS: Ubuntu 22.04
- IDE: IntelliJ
- Library/Libraries: com.azure:azure-maps-search:2.0.0-beta.2
- Java version: 17
- App Server/Environment: Tomcat
- Frameworks: Spring Boot
Contributor guide
Assessment
This issue has not been assessed yet.