SlideShare ist ein Scribd-Unternehmen logo
1 von 28
Raining Cats and
Dogs
DVTO 4: The Google Maps API
http://www.toronto.ca/fire/cadinfo/livecad.htm
Slides Removed
•
•
•

See http://www.torontofirecalls.com for app
http://www.toronto.ca/fire/cadinfo/livecad.htm
http://www.toronto.ca/fire/cadinfo/livecad.xml
Designs and Compromises

• “First make it possible. Then make it beautiful.
Then make it fast.” -Nathan Marz
Make it Possible

• Node JS and Redis, because programming
• Revert to Rails and Postgres, because spaghetti
Every 5 Minutes do X
1. Custom Rake Task w/ Heroku Scheduler
2. Clockwork and Delayed Job (OMG $$$)
3. Clockwork and Delayed Job with Workless
4. Switch to WebFaction
5. Bare Cron
6. Cron by Whenever Gem
Slide Removed

•

http://mapicons.nicolasmollet.com/
Make it Fast(er)
•

NewRelic development agent -> Profiled

•

Event retrieval on click? Not scalable

•

Optimized AR Queries

•

InfoWindow Generation/Retrieval to AJAX
Part 4
Google Geocoding and
Maps API’s
Google Geocoding API
•

http://maps.googleapis.com/maps/api/geocode/j
son?address=1600+Amphitheatre+Parkway,
+Mountain+View,+CA&sensor=true

•

JSON or XML, HTTP or HTTPS

•

2,500 requests per 24 hour period.

•

Also a rate limit, so sleep during bulk geocodes
Reverse Geocoding

•

Have location, need address.

•

http://maps.googleapis.com/maps/api/geocode/j
son?latlng=40.714224,-73.961452&sensor=true
Slide Removed

•

https://github.com/alexreisner/geocoder
Geocode Happy
1. Realistic use case?
2. Have a strategy.
3. Check the TOS.
Markers on a
Map
Step 1
Step 2
Step 3
Step 4
Step 5
Slide Removed

•

See
https://github.com/apneadiving/Google-Maps-for-Rails
Bonus Resources

•

CartoDB and Torque

•

Google Maps Mania Blog
Slide Removed

•

See thedirt.co
Slide Removed

•

See padmapper.com
Slide Removed

•

http://lifewatch.inbo.be/blog/posts/trackingeric.html
Matt
Holtom
matt@codeandiron.com
@mattholtomTO

Code &
Iron
codeandiron.com
@codeandiron

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

Icinga Camp Berlin 2018 - Dev and Ops Stories - Integrations++
Icinga Camp Berlin 2018 - Dev and Ops Stories - Integrations++Icinga Camp Berlin 2018 - Dev and Ops Stories - Integrations++
Icinga Camp Berlin 2018 - Dev and Ops Stories - Integrations++
 
ATLRUG Announcements - July 2016
ATLRUG Announcements - July 2016ATLRUG Announcements - July 2016
ATLRUG Announcements - July 2016
 
GitHub Actions demo with mabl
GitHub Actions demo with mablGitHub Actions demo with mabl
GitHub Actions demo with mabl
 
Gitalist Talk LPW2009
Gitalist Talk LPW2009Gitalist Talk LPW2009
Gitalist Talk LPW2009
 
ARCore Dance Party - Uri Shaked, Blackberry
ARCore Dance Party - Uri Shaked, BlackberryARCore Dance Party - Uri Shaked, Blackberry
ARCore Dance Party - Uri Shaked, Blackberry
 
CATzure Azure Functions
CATzure Azure FunctionsCATzure Azure Functions
CATzure Azure Functions
 
SilverStripe Meetup - Searching for search solutions
SilverStripe Meetup - Searching for search solutionsSilverStripe Meetup - Searching for search solutions
SilverStripe Meetup - Searching for search solutions
 
Packer, Terraform & Jenkins
Packer, Terraform & JenkinsPacker, Terraform & Jenkins
Packer, Terraform & Jenkins
 
Getting started with Angular CLI
Getting started with Angular CLIGetting started with Angular CLI
Getting started with Angular CLI
 
Automating OpenShift Deployments
Automating OpenShift DeploymentsAutomating OpenShift Deployments
Automating OpenShift Deployments
 
OpenInfraDays2019 Mastering Openstack the DevOps way
OpenInfraDays2019 Mastering Openstack the DevOps wayOpenInfraDays2019 Mastering Openstack the DevOps way
OpenInfraDays2019 Mastering Openstack the DevOps way
 
Container based CI/CD on GitHub Actions
Container based CI/CD on GitHub ActionsContainer based CI/CD on GitHub Actions
Container based CI/CD on GitHub Actions
 
Why Hanami? @ 1º Hanami Sao Paulo meetup
Why Hanami? @ 1º Hanami Sao Paulo meetupWhy Hanami? @ 1º Hanami Sao Paulo meetup
Why Hanami? @ 1º Hanami Sao Paulo meetup
 
Github in Action
Github in ActionGithub in Action
Github in Action
 
Future of Sysadmin 2014
Future of Sysadmin 2014Future of Sysadmin 2014
Future of Sysadmin 2014
 
Deploying Ruby/Sinatra at Rent the Runway - Next Dev StackUp,May 6, 2014
Deploying Ruby/Sinatra at Rent the Runway - Next Dev StackUp,May 6, 2014Deploying Ruby/Sinatra at Rent the Runway - Next Dev StackUp,May 6, 2014
Deploying Ruby/Sinatra at Rent the Runway - Next Dev StackUp,May 6, 2014
 
OSMC 2021 | Observability will not fix your broken Monitoring , or Culture
OSMC 2021 | Observability will not fix your broken Monitoring , or CultureOSMC 2021 | Observability will not fix your broken Monitoring , or Culture
OSMC 2021 | Observability will not fix your broken Monitoring , or Culture
 
Hanami in Production @ Hanami User Group SP
Hanami in Production @ Hanami User Group SPHanami in Production @ Hanami User Group SP
Hanami in Production @ Hanami User Group SP
 
ATLRUG Announcements and Fun Facts - April 2016
ATLRUG Announcements and Fun Facts - April 2016ATLRUG Announcements and Fun Facts - April 2016
ATLRUG Announcements and Fun Facts - April 2016
 
Tracking Huge Files with Git LFS
Tracking Huge Files with Git LFSTracking Huge Files with Git LFS
Tracking Huge Files with Git LFS
 

Andere mochten auch

Information Visualization for Large-Scale Data Workflows by Michael Conover (...
Information Visualization for Large-Scale Data Workflows by Michael Conover (...Information Visualization for Large-Scale Data Workflows by Michael Conover (...
Information Visualization for Large-Scale Data Workflows by Michael Conover (...
The Hive
 
JavaScript para Graficos y Visualizacion de Datos
JavaScript para Graficos y Visualizacion de DatosJavaScript para Graficos y Visualizacion de Datos
JavaScript para Graficos y Visualizacion de Datos
philogb
 
Data visualization - Graphics & arts
Data visualization - Graphics & artsData visualization - Graphics & arts
Data visualization - Graphics & arts
Dogstudio
 
New Tools for Visualization in JavaScript - Sept. 2011
New Tools for Visualization in JavaScript - Sept. 2011New Tools for Visualization in JavaScript - Sept. 2011
New Tools for Visualization in JavaScript - Sept. 2011
philogb
 

Andere mochten auch (20)

Attention and Visual Memory in Visualization and Computer Graphics
Attention and Visual Memory in Visualization and Computer GraphicsAttention and Visual Memory in Visualization and Computer Graphics
Attention and Visual Memory in Visualization and Computer Graphics
 
Attention, Please!
Attention, Please!Attention, Please!
Attention, Please!
 
OER Impact: Collaboration, Evidence, Synthesis
OER Impact: Collaboration, Evidence, Synthesis OER Impact: Collaboration, Evidence, Synthesis
OER Impact: Collaboration, Evidence, Synthesis
 
Making pretty charts that actually mean something
Making pretty charts that actually mean somethingMaking pretty charts that actually mean something
Making pretty charts that actually mean something
 
Information Visualization for Large-Scale Data Workflows by Michael Conover (...
Information Visualization for Large-Scale Data Workflows by Michael Conover (...Information Visualization for Large-Scale Data Workflows by Michael Conover (...
Information Visualization for Large-Scale Data Workflows by Michael Conover (...
 
Webilea i-net presentation on data visualization and information design
Webilea i-net presentation on data visualization and information designWebilea i-net presentation on data visualization and information design
Webilea i-net presentation on data visualization and information design
 
JavaScript para Graficos y Visualizacion de Datos
JavaScript para Graficos y Visualizacion de DatosJavaScript para Graficos y Visualizacion de Datos
JavaScript para Graficos y Visualizacion de Datos
 
Hyper-realistic 3d visualization - element3d
Hyper-realistic 3d visualization - element3dHyper-realistic 3d visualization - element3d
Hyper-realistic 3d visualization - element3d
 
Industrial Benchmarking through Information Visualization and Data Envelopmen...
Industrial Benchmarking through Information Visualization and Data Envelopmen...Industrial Benchmarking through Information Visualization and Data Envelopmen...
Industrial Benchmarking through Information Visualization and Data Envelopmen...
 
Visualization tree multiple linked analytical decisions
Visualization tree multiple linked analytical decisionsVisualization tree multiple linked analytical decisions
Visualization tree multiple linked analytical decisions
 
Data visualization - Graphics & arts
Data visualization - Graphics & artsData visualization - Graphics & arts
Data visualization - Graphics & arts
 
Big data Visualization and Dashboards
Big data Visualization and DashboardsBig data Visualization and Dashboards
Big data Visualization and Dashboards
 
New Tools for Visualization in JavaScript - Sept. 2011
New Tools for Visualization in JavaScript - Sept. 2011New Tools for Visualization in JavaScript - Sept. 2011
New Tools for Visualization in JavaScript - Sept. 2011
 
Data visualization and communication
Data visualization and communicationData visualization and communication
Data visualization and communication
 
Learner Analytics: from Buzz to Strategic Role Academic Technologists
Learner Analytics:  from Buzz to Strategic Role Academic TechnologistsLearner Analytics:  from Buzz to Strategic Role Academic Technologists
Learner Analytics: from Buzz to Strategic Role Academic Technologists
 
Learner Analytics Presentation to ATSC Committee
Learner Analytics Presentation to ATSC CommitteeLearner Analytics Presentation to ATSC Committee
Learner Analytics Presentation to ATSC Committee
 
From Data Journalism to Data Illustration - Visualizing Data with JavaScript ...
From Data Journalism to Data Illustration - Visualizing Data with JavaScript ...From Data Journalism to Data Illustration - Visualizing Data with JavaScript ...
From Data Journalism to Data Illustration - Visualizing Data with JavaScript ...
 
Open resources? Open Learning!
Open resources? Open Learning!Open resources? Open Learning!
Open resources? Open Learning!
 
Package dependency visualization for GNU/Linux systems
Package dependency visualization for GNU/Linux systemsPackage dependency visualization for GNU/Linux systems
Package dependency visualization for GNU/Linux systems
 
Gumby: Package Dependency Visualization for Linux
Gumby: Package Dependency Visualization for LinuxGumby: Package Dependency Visualization for Linux
Gumby: Package Dependency Visualization for Linux
 

Ähnlich wie Data + Visualization Toronto Meetup 4: The Google Maps API

日本一細かいJavaOne2011報告
日本一細かいJavaOne2011報告日本一細かいJavaOne2011報告
日本一細かいJavaOne2011報告
心 谷本
 
tDiary annual report 2009 - Sapporo Ruby Kaigi02
tDiary annual report 2009 - Sapporo Ruby Kaigi02tDiary annual report 2009 - Sapporo Ruby Kaigi02
tDiary annual report 2009 - Sapporo Ruby Kaigi02
Hiroshi SHIBATA
 

Ähnlich wie Data + Visualization Toronto Meetup 4: The Google Maps API (20)

The Seven Wastes of Software Development
The Seven Wastes of Software DevelopmentThe Seven Wastes of Software Development
The Seven Wastes of Software Development
 
日本一細かいJavaOne2011報告
日本一細かいJavaOne2011報告日本一細かいJavaOne2011報告
日本一細かいJavaOne2011報告
 
Silverlight vs HTML5 - Lessons learned from the real world...
Silverlight vs HTML5 - Lessons learned from the real world...Silverlight vs HTML5 - Lessons learned from the real world...
Silverlight vs HTML5 - Lessons learned from the real world...
 
Google App Engine Java, Groovy and Gaelyk
Google App Engine Java, Groovy and GaelykGoogle App Engine Java, Groovy and Gaelyk
Google App Engine Java, Groovy and Gaelyk
 
tDiary annual report 2009 - Sapporo Ruby Kaigi02
tDiary annual report 2009 - Sapporo Ruby Kaigi02tDiary annual report 2009 - Sapporo Ruby Kaigi02
tDiary annual report 2009 - Sapporo Ruby Kaigi02
 
Dibi Conference 2012
Dibi Conference 2012Dibi Conference 2012
Dibi Conference 2012
 
Does Your Stuff Scale?
Does Your Stuff Scale?Does Your Stuff Scale?
Does Your Stuff Scale?
 
Puppet Camp New York 2014: Streamlining Puppet Development Workflow
Puppet Camp New York 2014: Streamlining Puppet Development Workflow Puppet Camp New York 2014: Streamlining Puppet Development Workflow
Puppet Camp New York 2014: Streamlining Puppet Development Workflow
 
Steamlining your puppet development workflow
Steamlining your puppet development workflowSteamlining your puppet development workflow
Steamlining your puppet development workflow
 
Rapid development with Rails
Rapid development with RailsRapid development with Rails
Rapid development with Rails
 
Torquebox rubyhoedown-2012
Torquebox rubyhoedown-2012Torquebox rubyhoedown-2012
Torquebox rubyhoedown-2012
 
Qcon beijing 2010
Qcon beijing 2010Qcon beijing 2010
Qcon beijing 2010
 
XPages build automation and testing
XPages build automation and testingXPages build automation and testing
XPages build automation and testing
 
Event machine
Event machineEvent machine
Event machine
 
5 Quick JavaScript Performance Improvement Tips
5 Quick JavaScript Performance Improvement Tips5 Quick JavaScript Performance Improvement Tips
5 Quick JavaScript Performance Improvement Tips
 
Developing webapp using Polymer : is it ready for production? or not?
Developing webapp using Polymer : is it ready for production? or not?Developing webapp using Polymer : is it ready for production? or not?
Developing webapp using Polymer : is it ready for production? or not?
 
SCALE 10x Build a Cloud Day
SCALE 10x Build a Cloud DaySCALE 10x Build a Cloud Day
SCALE 10x Build a Cloud Day
 
DjangoCon recap
DjangoCon recapDjangoCon recap
DjangoCon recap
 
COSCUP 2016: Project 52 每週一個小專案來學習 Golang
COSCUP 2016: Project 52 每週一個小專案來學習 GolangCOSCUP 2016: Project 52 每週一個小專案來學習 Golang
COSCUP 2016: Project 52 每週一個小專案來學習 Golang
 
InfoTalk#17 1st
InfoTalk#17 1stInfoTalk#17 1st
InfoTalk#17 1st
 

Kürzlich hochgeladen

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 

Kürzlich hochgeladen (20)

Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 

Data + Visualization Toronto Meetup 4: The Google Maps API