user2237822
user2237822

Reputation: 605

Convert address to longitude and latitude

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

Answers (3)

Pawel Furmaniak
Pawel Furmaniak

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

micantox
micantox

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

Mage
Mage

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

Related Questions