Disable showing bikesharing POI pins in Maps

We have a micromobility / scooter sharing app. Apple apparently introduced some sort of new feature some bikesharing apps' vehicles are shown in Maps.

Similar to car rental services or public transports, we now see those bikes inside our app. Which we don't like. Because they are our competitor company.

We tried disabling .carRental, .parking, .publicTransport etc options for mapView's pointOfInterestFilter option. None of them worked. We had to do .excludeAll and provided a version to our client to test with this.

I just don't understand how this ridesharing app information comes and how it is shown in our app. But we need to find a solution to this. This feature doesn't make any sense to our company.

We found a solution. Apparently, there is a hidden ".bikeSharing" option or something like that in Maps API. Which is not available to us, therefore we can't really exclude it.

If we use .excludeAll, then it removes vehicles from the app.

So our solution is instead of excluding, include everything which is available to us.

        var categories: [MKPointOfInterestCategory] = [
            .airport, .amusementPark, // all the other ones
        ]

        if #available(iOS 18.0, *) {
            categories.append(contentsOf: [
                .animalService, .automotiveRepair, .baseball, // all the iOS 18 ones
            ])
        }

        let filter = MKPointOfInterestFilter(including: categories)

        if #available(iOS 16.0, *) {
            let configuration = MKStandardMapConfiguration()
            configuration.pointOfInterestFilter = filter
            mapView.preferredConfiguration = configuration
        } else {
            mapView.pointOfInterestFilter = filter
        }

This way, that hidden .bikeSharing option is not being enabled and done! Those bikesharing vehicles are gone.

Leaving this here so if in the future someone else search for it, they will see.

Disable showing bikesharing POI pins in Maps
 
 
Q