Thanks for being a part of WWDC25!

How did we do? We’d love to know your thoughts on this year’s conference. Take the survey here

📍 Inconsistent POI Visibility Between Apple Maps and MKLocalSearch / CLGeocoder

Summary:
Hi! I'm experiencing an issue between what Apple Maps displays in the UI and what is accessible via MapKit APIs such as MKLocalSearch and CLGeocoder. Specifically, some verified and publicly visible businesses (with proper POI categories like .cafe) are not returned by coordinate-based POI searches or reverse geocoding, even when their exact address and coordinates are known.


Repro Steps:

  1. In Apple Maps (iOS), search for Rustic Knead located at:
    1130 State St, Lemont, IL 60439

  2. Note that:

    • The business appears visually on the map
    • It is categorized as a cafe
    • The address is 1130 State St
  3. Now in code, attempt both:

    • A coordinate-based POI search using MKLocalSearch.Request(region:)
    • A reverse geocoding lookup via CLGeocoder.reverseGeocodeLocation

    Example coordinates:
    latitude: 41.673604, longitude: -88.002295


Expected Behavior:
Given the precise coordinates and Apple Maps showing the POI publicly, I expect either or both of the following:

  • MKLocalSearch should return the POI (Rustic Knead) within a reasonable radius and appropriate .pointOfInterestFilter.
  • CLGeocoder should return a CLPlacemark with either name = "Rustic Knead" or an areasOfInterest value containing it.

Actual Behavior:

  • MKLocalSearch returns 0 POIs at that location, even with filters removed and radius increased to 500+ meters.
  • CLGeocoder.reverseGeocodeLocation returns a valid postal address but does not include the business name in .name or areasOfInterest.
  • Searching by business name (e.g., "Rustic Knead") does work, but coordinate/address-only lookups do not.

Questions:

  1. Are there known limitations in how MapKit surfaces POIs by coordinate or reverse geocode?
  2. Is there a way to ensure public, categorized POIs are accessible programmatically via MapKit APIs?
  3. Is there a better strategy to provide coordinates and return a business name?

Is there a better strategy to provide coordinates and return a business name?

If you are always referencing the same location or business, you can use the MKMapItem identifier so that you don't need to search for the business or location. That's a new feature to MapKit in iOS 18, so you can learn about it from this WWDC session and a sample code project.

Beyond that, you've done a really great job at looking at this through the available APIs and the configuration options each API provides, and summarizing them here. There mostly isn't any further API-level guidance I can give you except for the one item above. Would you mind taking all of this info into a bug report so we can look at why the results returned for this particular location isn't meeting your expectations? If you file the report, post the FB number here for the record.

— Ed Ford,  DTS Engineer

📍 Inconsistent POI Visibility Between Apple Maps and MKLocalSearch / CLGeocoder
 
 
Q