Location services(iPhone) other than Google - iphone

In our iPhone application we have a requirement to display UK County and Area name of a location ( we have latitude and longitude) . Initially we used MAPKit framework (reverse geocoding) to get this information. But during testing we found that we are not getting correct data from Google always.
Can somebody suggest any alternative method to get this information ? We are ready to use paid services also.

You can take a look at CloudMade. They have pretty decent solutions for anything map service related. They use source from OpenStreetMap but you can do all sorts of customization to the maps. Another option is through Bing maps. It looks neat but I haven't tried it myself.

Related

POI not found with geocoding API

I am trying to use the MapBox Geocoding API and for it I tried to translate "Centre Hospitalier Régional d'Orléans" (that is an Hospital in France, Orléans) into Lng/Lat coordinates.
When I display a MapBox Map, I can see the POI:
And when I click it in MapBox Studio, it is well recognized as a Point Of Interest (POI) (poi-label):
But when I try to find it using the Geocoding API, I don't find it.
Here is the request I run:
https://api.mapbox.com/geocoding/v5/mapbox.places/Centre%20Hospitalier.json?access_token=pk.eyJ1IjoibWF0dGZpY2tlIiwiYSI6ImNqNnM2YmFoNzAwcTMzM214NTB1NHdwbnoifQ.Or19S7KmYPHW8YjRz82v6g&cachebuster=1547469044480&autocomplete=true&country=fr&proximity=1.909251%2C47.902964
Is it normal ? Am I doing something wrong or is it a bug ?
The data behind the maps and the geocoder aren't necessarily the same, so it's likely this Hospital is showing up on the map from OpenStreetMap, but isn't in the data being used for the geocoder.
Some information about data sources is at https://www.mapbox.com/about/maps/
You can report feedback about this at https://apps.mapbox.com/feedback/ mentioning its a geocoding issue.

reverse geocoding on the IPhone - getting exact street numbers

We are building a series of applications for the IPhone (IOS5), where we use reverse geocoding. Most of the time, CLGeocoder returns a range for the address number (eg. "someaddress 2-5"). We want to retrieve the exact street number for every reverse geocoding request.
As I have come to understand, this is not controlled by me as a developer but rather by Apple, which makes a call to Google and returns the results (the range of street numbers). Has anybody else encountered the same problem and found a solution?
One solution I was advised to do is purchase the google maps API for business. In its documentation it states that it offers "advanced geocoding", but no details are given for reverse geocoding and street numbers. Has anybody had any experience with this API?
Another thing that comes in mind is to use some third-party service that does reverse geocoding. But the thing I am not sure is if Apple will accept it. Does anybody has to suggest a third-party service that does reverse geocoding and returns the exact street number for a given position on the map?
Thank you in advance
It looks like GeoNames would fit your needs well.
From the Wikipedia page:
GeoNames is a geographical database available and accessible through
various Web services, under a Creative Commons attribution license.
I myself have been using CLGeocoder, and haven't experienced any issues with it returning a range of street numbers.

Find Location of Iphone (GeoCoding)

I am using http://www.mobileorchard.com/hello-there-a-corelocation-tutorial/
for getting the location using Iphone.(It gives Latitude & Longitude)
Now i want the cities/zipcode based on these Latitude & Longitude in Iphone.
So please suggest me for the above.
Sample code/tutorial will be much better(if possible)...as I am very new to this Iphone development.
Thanks.
You can use the builtin MKReverseGeocoder class in UIKit. You will however have to adhere to Googles license terms, e.g. that you have to show the results on a Google map, etc.
Alternatively you can use the various services available from GeoNames, for your need especially the postal code lookup could be of interrest. They are provided both as xml and json formats. They have a lot less restrictive licens term than Google.

Displaying nearby businesses in mapkit

Is it possible to display nearby businesses in mapkit? If not, how else can that be done?
Is there a way to display by category - restaurant, retail, museums?
Also, I don't think displaying traffic flow is available. Can anyone confirm?
The current version of MapKit does not support such features.
It's main capabilities currently are:
a scrollable/zoomable map
reverse geocoding (get the address for some given lat/long coordinates)
add annotations (pins) at a given lat/long
show phone's current location
show Standard, Satellite, or Hybrid view
To display nearby businesses, you would have to:
query a third-party for that information which would ideally return lat/long coordinates
add annotations to the map using the returned coordinates
This is an interesting and emerging business idea!
I live in Nordic region and there is an open Mashups especially for sweden.
By open i mean, any one can request and get access to the content to find nearby Cafe / WiFi / Sushi restaurants etc..
BEGIN PLUG WARNING
Check my iphone application which fetches content from the mashups and display using MapKit!
END PLUG WARNING
And there is a commercial content provider called Info24 for nordic countries at the moment.
Like DyingCactus said, it's not currently possible without using your own calls to one of the mapping service providers. There are options available, though.
One of them is CloudMade. They have a good iPhone library and support almost all of your requirements.
Check out the API at Cloudmade.com
I know this thread is kind of old, but i figured out a free alternative to do what you are looking for, more or less. You just nee to tap into a maps.google.com service and get a kml or JSON output. I used KML (XML) becuase i found the filesize to be consistently smaller. I wrote a 3 part series on my blog about how to do this for anyone that is interested.
http://www.zen-sign.com/finding-business-listings-and-displaying-with-mapkit-part-1/
http://www.zen-sign.com/finding-business-listings-and-displaying-with-mapkit-part-2/
http://www.zen-sign.com/finding-business-listings-and-displaying-with-mapkit-part-3/

iPhone - can I use MapKit without displaying a Map?

I am writing an app that will use Reverse Geocoding to translate the user's current location into something like a Street Address or City. It seems the only way to get this kind of information is via MapKit (specifically the Placemark class).
Can I use this without having to display a map to the user?
The reason I am asking this is because in the Google HTTP Reverse Geocoding documentation it states:
Note: the geocoding service may only be used in conjunction with displaying results on a Google map; geocoding results without displaying them on a map is prohibited. For complete details on allowed usage, consult the Maps API Terms of Service License Restrictions.
I'm wondering if this holds true for the MapKit API as well or if Google and Apple worked something out.
I answer my own question way too much around here -
10.12 use or display the Content without a corresponding Google map, unless you are explicitly permitted to do so in the Maps API Documentation, the Street View API Documentation, or through written permission from Google (for example, you must not use geocodes obtained through the Service except in conjunction with a Google map, but the Street View API Documentation explicitly permits you to display Street View imagery without a corresponding Google map); or
via Google Maps iPhone TOS
The Map Kit framework provides an embeddable map interface for your application. Use it to display map or satellite imagery from the windows and views of your custom applications. You can also use the framework to annotate your maps with points of interest and other custom information.
What was stated above about using Googles HTTP API for reverse geocoding would be a better way to display the information you are looking for and using a text box to read the information.