Giter VIP home page Giter VIP logo

ruby-api-google-geocode's Introduction

Using an API

#Challenge

  • We want to convert a latitude and longitude into a street address

#Selecting an API

https://maps.googleapis.com/maps/api/geocode/json?parameters

#Get an API Key

#Get a Gem to do Server Side requests

#Write a simple app to test it out

require 'dotenv'
require 'httparty'
require 'json'

begin
  require 'dotenv'
  Dotenv.load
rescue LoadError
end

class GeoCodeClient
  include HTTParty
  base_uri 'https://mapds.googleapis.com/maps/api/geocode/json'

  def convert_address_to_lat_long(address)
    response = self.class.get('',
                              query: {
                                key: ENV['GOOGLE_API_KEY'],
                                address: address
                              })
    if response.success?
      json = JSON.parse(response.body)
      json['results'].first['geometry']['location']
    else
      nil
    end
  end
end

client = GeoCodeClient.new

example_address = '655 Mission St, San Francisco, CA 94105'

lat_long = client.convert_address_to_lat_long(example_address)

if lat_long
  puts "(#{lat_long['lat']},#{lat_long['lng']}) -> #{example_address}"
else 
  puts "Unable to decode -> #{example_address}"
end 

ruby-api-google-geocode's People

Stargazers

wildraj avatar

Watchers

James Cloos avatar

Forkers

benjamh

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.