def get_geolocation(result):
address = ["", "", "", ""]
for obj in result["address_components"]:
if "locality" in obj["types"]:
address[0] = obj["long_name"]
if "administrative_area_level_1" in obj["types"]:
address[1] = obj["long_name"]
if "country" in obj["types"]:
address[2] = obj["long_name"]
return tuple(address)
import requests
import json
url = "http://maps.googleapis.com/maps/api/geocode/json?latlng=40,-76&sensor=false"
print get_geolocation(json.loads(requests.get(url).text)["results"][0])
url = "http://maps.googleapis.com/maps/api/geocode/json?latlng=50,13&sensor=false"
print get_geolocation(json.loads(requests.get(url).text)["results"][0])
Requires jQuery
function get_geolocation(lat, lon, callback){
url = "http://maps.googleapis.com/maps/api/geocode/json?latlng="+lat+","+lon+"&sensor=false";
$.getJSON(url, function(json){
address = ["", "", "", ""];
json["results"][0]["address_components"].forEach(function(obj){
if (obj["types"].indexOf("locality") != -1) address[0] = obj["long_name"];
if (obj["types"].indexOf("administrative_area_level_1") != -1) address[1] = obj["long_name"];
if (obj["types"].indexOf("country") != -1) address[2] = obj["long_name"];
})
callback(address);
});
}
config/configuration.yml append this.
production:
delivery_method: :smtp
smtp_settings:
address: smtp.gmail.com
port: 587
domain: gmail.com
authentication: :login
user_name: "username@gmail.com"
password: "password"