Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Introduction to Geolocation
Search
Aaron Bassett
July 01, 2009
Technology
0
60
Introduction to Geolocation
Just after the Geolocation APIs were released I gave an introductory talk about them at Techmeetup
Aaron Bassett
July 01, 2009
Tweet
Share
More Decks by Aaron Bassett
See All by Aaron Bassett
When your wetware has too many threads - Tips from an ADHDer on how to improve your focus
aaronbassett
1
71
Stupid (and possibly illegal) stuff you can do with SMS, but probably shouldn't
aaronbassett
0
380
Hello to the World in 8 Web Frameworks (Micro, Batteries Included & Async)
aaronbassett
0
68
When The __future__ Becomes The Present; Dropping Python 2 Support In A Commercial Client
aaronbassett
1
84
Real-time transcription and sentiment analysis of audio streams; on the phone and in the browser
aaronbassett
0
86
Django and the testing pyramid - DjangoCon Europe 2017
aaronbassett
0
920
Avoiding the "left-pad" problem: How to secure your pip install process
aaronbassett
0
390
Sun, Sea & Pi - A Raspberry Pi day talk
aaronbassett
0
130
Having fun with testing
aaronbassett
0
83
Other Decks in Technology
See All in Technology
マイグレーションガイドに書いてないRiverpod 3移行話
taiju59
0
340
トラブルの大半は「言ってない」x「言ってない」じゃねーか!!
ichimichi
0
280
LINEヤフーにおけるAI駆動開発組織のプロデュース施策
lycorptech_jp
PRO
0
380
入門DBSC
ynojima
0
100
全自動で回せ!Claude Codeマーケットプレイス運用術
yukyu30
3
150
Claude Cowork Plugins を読む - Skills駆動型業務エージェント設計の実像と構造
knishioka
0
230
All About Sansan – for New Global Engineers
sansan33
PRO
1
1.4k
EMからVPoEを経てCTOへ:マネジメントキャリアパスにおける葛藤と成長
kakehashi
PRO
5
340
AI Agentにおける評価指標とAgent GPA
tsho
1
270
Lookerの最新バージョンv26.2がやばい話
waiwai2111
1
150
APMの世界から見るOpenTelemetryのTraceの世界 / OpenTelemetry in the Java
soudai
PRO
0
220
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
14k
Featured
See All Featured
Measuring & Analyzing Core Web Vitals
bluesmoon
9
770
Building an army of robots
kneath
306
46k
Odyssey Design
rkendrick25
PRO
2
530
Designing for humans not robots
tammielis
254
26k
Abbi's Birthday
coloredviolet
2
5.1k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
200
Designing for Performance
lara
611
70k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Automating Front-end Workflow
addyosmani
1370
200k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
370
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
280
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
190
Transcript
Geolocation
Aaron Bassett aaronbassett.com twitter.com/aaronbassett
“Geolocation is the identification of the real-world geographic location of
an Internet-connected computer, mobile device, website visitor or other.” Wikipedia
Devices
Geolocation API
Privacy Have to give permission Can alter accuracy Might reject
you Be trustworthy
http://bit.ly/please-work
<header> <hgroup> <h1>Geolocation Demo</h1> <h2>for <a href='http://techmeetup.co.uk/blog/2009/11/announcing-techmeetup-glasgow-7/'> Glasgow Tech Meetup</a></h2>
</hgroup> </header> <div id='map'> <p><small><!-- map goes here --></small></p> </div> <p id='message'><strong>Status:</strong> <em id='status'>waiting...</em></p> <footer> <p><a href='https://github.com/aaronbassett/TMU-Geolocation'>download source from Github</a></p> </footer> <script type='text/javascript'> function success(position) { var s = document.getElementById('status'); if (s.className == 'success') { // not sure why we're hitting this twice in FF, // I think it's to do with a cached result coming back return; } s.innerHTML = "found you!"; s.className = 'success'; var latlng = new google.maps.LatLng(position.coords.latitude, position.coords.longitude); var myOptions = { zoom: 15, center: latlng, mapTypeControl: false, navigationControlOptions: {style: google.maps.NavigationControlStyle.SMALL}, mapTypeId: google.maps.MapTypeId.ROADMAP }; var map = new google.maps.Map(document.getElementById("map"), myOptions); var marker = new google.maps.Marker({ position: latlng, map: map, title:"You are here!" }); } function error(msg) { var s = document.getElementById('status'); s.innerHTML = typeof msg == 'string' ? msg : "failed"; s.className = 'error'; } if (navigator.geolocation) { navigator.geolocation.getCurrentPosition(success, error); } else { error('not supported'); } </script>
Example function success(pos) { alert(pos.coords.latitude+" : "+pos.coords.longitude); } function error(msg)
{ msg = (typeof msg == 'string') ? msg : "couldn't find you :("; alert(msg); } if(navigator.geolocation) { navigator.geolocation.getCurrentPosition(success, error); } else { error('not supported'); }
/* GeoFill by Christian Heilmann Version: 1.1 Homepage: http://icant.co.uk/geofill Copyright
(c) 2009, Christian Heilmann Code licensed under the BSD License */
In the wild
What not to do
github.com/aaronbassett/TMU- Geolocation
Thank you for listening no hard questions, plzkthnx!