Reputation: 605
I want to do the following - Allow users to input a physical address in ios app. - This address is converted to longitude/latitude - Django server code checks to see nearby locations.
How can I do this most efficiently?
Should I convert the address to longitude and latitude in ios app and then send the coordinates to django server code, or should I send the address to django server code and then covert address to longitude and latitude?
any help would be appreciated!
Upvotes: 0
Views: 4742
Reputation: 4806
You can use this function to get (latitude, longitude)
tuple on the django side
import urllib, urllib2
import simplejson as json
def getLatLng( address ):
""" Native address format is House Number, Street Direction, Street Name,
Street Suffix, City, State, Zip, Country """
TIMEOUT = 3
try:
url = "http://maps.google.com/maps/api/geocode/json?address=" + urllib.quote_plus( address.encode('utf-8') ) + "&sensor=false"
opener = urllib2.build_opener()
req = urllib2.Request( url )
data = json.load( opener.open(req, None, TIMEOUT) )
results = data['results']
if len( results ):
location = results[0]['geometry']['location']
return ( location['lat'], location['lng'] )
else:
return None
except:
return None
Upvotes: 1
Reputation: 5616
According to the Apple's Location Awareness Programming Guide You can achieve this using a CLGeocoder object:
CLGeocoder* geocoder = [[CLGeocoder alloc] init];
[geocoder geocodeAddressString:@"Your Address"
completionHandler:^(NSArray* placemarks, NSError* error){
for (CLPlacemark* aPlacemark in placemarks)
{
// Process the placemark.
}
}];
A CLPlacemark object has a property called location that yields latitude and longitude for the place.
Upvotes: 5
Reputation: 151
Use the below link,this will return json which consist of latitude and longitude for the physical address.
http://maps.google.com/maps/api/geocode/json?address=Newyork&sensor=false
Upvotes: 0