Azure / Azure/azure-sdk-for-java

[BUG] MapsSearchClient.getReverseGeocoding() always returns null for MapsSearchAddressCountryRegion.getIso()

Open
#44,529 4 comments 0 reactions 1 assignee Claimed by @dubiety View on GitHub
bug customer-reported Maps needs-team-attention
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`:
![Image](https://github.com/user-attachments/assets/c5f0c1aa-a009-4e2a-899c-b70713ab0a4a)

Query result:
![Image](https://github.com/user-attachments/assets/053b74fa-cb12-45a0-a8ed-d0d610a312ad)

**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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.