I am the owner of a project that uses open source maps for an iPhone 2.0 app. My team and I are debating whether to upgrade to the iPhone 3.0 expose Map APIs, but I suspect that Google and Apple have put restrictions in just the wrong places. What barriers are out there?
One very limiting feature of the map interface is you cannot implement turn by turn applications using Google map data (the dataproviders want more cash in their pocket for that). You can use the CoreLocation APIs to fetch position information, but would need to bring in another map source (Openstreetmap?) in order to calculate logical positions and routes.
Non-technical: you're bound by Google's Terms Of Service.
My guess is your asking about technical barriers. The most annoying one I ran into was the concept of zoom level. In MKMapKit, there is a region property with which you can adjust the visible portion of the map. The problem with this thing is that it is rounding unpredictably. If you set the region property on a MKMapView instance, the resulting region actually is different than the one you set. Better yet, the following code actually changes the region of the MKMapView:
mapView.region = mapView.region;