Reliable way to identify German Landkreise / kreisfreie Städte with CLPlacemark?

Hello AD Forums,

I am a member of the ADP and am working on an iOS app for the App Store.

My app needs to match the user’s current location to one of Germany’s 400 district-level administrative areas: Landkreise and kreisfreie Städte.

In Firebase, each region has a geoTagName field. The app compares the detected location name against this geoTagName to load the correct internal region document.

I need to understand the recommended Apple/Core Location field for this use case.

My current understanding is:

  • CLPlacemark.administrativeArea usually represents the federal state in Germany, for example “Thüringen” or “Bayern”.

  • CLPlacemark.locality usually represents the city, municipality, or town.

  • CLPlacemark.subAdministrativeArea seems to be the most likely candidate for the German Landkreis / kreisfreie Stadt level.

However, I need to know whether CLPlacemark.subAdministrativeArea is the correct and reliable field for identifying German Landkreise and kreisfreie Städte.

I also tested Apple Maps Server API /v1/reverseGeocode. For district-level locations in Germany, it often returns values such as:

administrativeArea: Thüringen

locality: Bad Sulza

but no value such as:

subAdministrativeArea: Weimarer Land

Example coordinate tested:

50.9957525, 11.5129989

My questions are:

  1. Is CLPlacemark.subAdministrativeArea the recommended field to identify German Landkreise and kreisfreie Städte in an iOS app?

  2. Are there known differences between iOS CLGeocoder.reverseGeocodeLocation and Apple Maps Server API /v1/reverseGeocode regarding subAdministrativeArea?

  3. Does Apple provide any official list, dataset, or recommended validation method for the exact district-level names used by Core Location / Apple Maps in Germany?

  4. How should an app distinguish cases where a kreisfreie Stadt and a Landkreis have the same name, for example:

  • Stadt Augsburg

  • Landkreis Augsburg

  • Stadt Ansbach

  • Landkreis Ansbach

  • Stadt Aschaffenburg

  • Landkreis Aschaffenburg

  1. Should administrativeArea be avoided for this use case because it represents the federal state level in Germany?

The goal is to create reliable matching between the Apple/Core Location result and our Firebase geoTagName values.

Thank you.

Reliable way to identify German Landkreise / kreisfreie Städte with CLPlacemark?
 
 
Q