SlideShare a Scribd company logo
1 of 17
Mapstraction
Ed Freyfogle - #Geomob - 18 Nov. 2009
One mapping API to
       rule them all




http://www.flickr.com/photos/workinpana/4031371930/
Why Mapstraction?
Flexibility
   • reduce dependency on single provider
   • single code base but different providers

Mix and match features
   • street view of A with satellite view of B
   • offer users choice

Future proofing
   • Provider T&Cs/functionalities can change
Property search engine
Mapstraction features
  • markers         • multiple maps/page
  • bubbles         • KML/GeoRSS
  • polygons        • event handling
  • overlays        • geocoding
A bit of history
 Started in 2006

 /* Copyright (c) ${YEAR} Tom Carden, Steve Coast, Mikel
 Maron, Andrew Turner, Henri Bergius, Rob Moran, Derek
 Fowler
 All rights reserved.
 …


 V1 available in 2006, some uptake.
“Plan to throw the first one away”
                     - Fred Brooks
http://www.flickr.com/photos/majorette/38996434/
And hence mxn v2 was born

Much smaller (20k versus 170k) note: YMMV

Much cleaner and modular

Testing infrastructure, API sandbox
Mini v2 tutorial

   1. include library(ies) of provider(s)-of-choice
   <script type="text/javascript">
   var cloudmade_key = ”1234…";
   </script>
   <script src="http://tile.cloudmade.com/…-lite.js”
   <script src="http://maps.google.com/maps? …”

   2. Include mxn
   <script src="mxn.js?(google,cloudmade)” …>
Mini v2 tutorial (cont.)
3. Get to work
<div id="mapdiv" style="height: 200px; width: 400px;"></div>
<script type="text/javascript">
var m = new mxn.Mapstraction('mapdiv',’cloudmade');
var latlon = new mxn.LatLonPoint(
                 51.52276321095246,
                 -0.10265350341796);
// put map on page
m.setCenterAndZoom(latlon, 16);

//add a marker
var marker = new mxn.Marker(latlon);
m.addMarker(marker);

//change map provider on the fly
m.swap('mapdiv', ’google');

</script>
mxn current status
mxn v2 in use and actively being developed

Support for cloudmade, geocommons, google (v2 and
v3), microsoft, openlayers, yahoo

Documentation/project page could be better

Lots more to be done
   more providers, geocoding, new features



         We need your help!
Thanks mxn community!
Learn more
  About mxn:
        http://www.mapstraction.com
        mapstraction@lists.mapstraction.com

  About me:
        @freyfogle

  About Nestoria:
        http://www.nestoria.com
        @nestoria
Questions/Demo?

More Related Content

What's hot

Drupal mapping
Drupal mappingDrupal mapping
Drupal mappingLev Tsypin
 
Drupal mapping modules
Drupal mapping modulesDrupal mapping modules
Drupal mapping modulesPatrick Hayes
 
NASA WorldWind Fed-State-Quarterly
NASA WorldWind Fed-State-QuarterlyNASA WorldWind Fed-State-Quarterly
NASA WorldWind Fed-State-QuarterlyPatrick Hogan
 
Gaskins.tom
Gaskins.tomGaskins.tom
Gaskins.tomNASAPMC
 
Responsive Maps in WordPress
Responsive Maps in WordPressResponsive Maps in WordPress
Responsive Maps in WordPressAlicia Duffy
 
Introduction to MapKit
Introduction to MapKitIntroduction to MapKit
Introduction to MapKitRob C
 
以 Leaflet 濫用^H^H呈現開放街圖資料
以 Leaflet 濫用^H^H呈現開放街圖資料以 Leaflet 濫用^H^H呈現開放街圖資料
以 Leaflet 濫用^H^H呈現開放街圖資料Rex Tsai
 
Building a developer community with containers
Building a developer community with containersBuilding a developer community with containers
Building a developer community with containersRex Tsai
 
Marble Virtual Globe 1.6 Factsheet (English)
Marble Virtual Globe 1.6 Factsheet (English)Marble Virtual Globe 1.6 Factsheet (English)
Marble Virtual Globe 1.6 Factsheet (English)Marble Virtual Globe
 
Marble Virtual Globe 1.3 Factsheet (English)
Marble Virtual Globe 1.3 Factsheet (English)Marble Virtual Globe 1.3 Factsheet (English)
Marble Virtual Globe 1.3 Factsheet (English)Marble Virtual Globe
 

What's hot (17)

Drupal mapping
Drupal mappingDrupal mapping
Drupal mapping
 
Google Maps API 101
Google Maps API 101Google Maps API 101
Google Maps API 101
 
OpenLayer's basics
OpenLayer's basicsOpenLayer's basics
OpenLayer's basics
 
OpenLayers 3
OpenLayers 3OpenLayers 3
OpenLayers 3
 
Drupal mapping modules
Drupal mapping modulesDrupal mapping modules
Drupal mapping modules
 
NASA WorldWind
NASA WorldWindNASA WorldWind
NASA WorldWind
 
51811680 open layers
51811680 open layers51811680 open layers
51811680 open layers
 
NASA WorldWind Fed-State-Quarterly
NASA WorldWind Fed-State-QuarterlyNASA WorldWind Fed-State-Quarterly
NASA WorldWind Fed-State-Quarterly
 
Gaskins.tom
Gaskins.tomGaskins.tom
Gaskins.tom
 
Responsive Maps in WordPress
Responsive Maps in WordPressResponsive Maps in WordPress
Responsive Maps in WordPress
 
Introduction to MapKit
Introduction to MapKitIntroduction to MapKit
Introduction to MapKit
 
以 Leaflet 濫用^H^H呈現開放街圖資料
以 Leaflet 濫用^H^H呈現開放街圖資料以 Leaflet 濫用^H^H呈現開放街圖資料
以 Leaflet 濫用^H^H呈現開放街圖資料
 
Building a developer community with containers
Building a developer community with containersBuilding a developer community with containers
Building a developer community with containers
 
Marble Virtual Globe 1.6 Factsheet (English)
Marble Virtual Globe 1.6 Factsheet (English)Marble Virtual Globe 1.6 Factsheet (English)
Marble Virtual Globe 1.6 Factsheet (English)
 
The FOSS4G Map
The FOSS4G MapThe FOSS4G Map
The FOSS4G Map
 
Marble Virtual Globe 1.3 Factsheet (English)
Marble Virtual Globe 1.3 Factsheet (English)Marble Virtual Globe 1.3 Factsheet (English)
Marble Virtual Globe 1.3 Factsheet (English)
 
The 21st Century Harvard Map
The 21st Century Harvard MapThe 21st Century Harvard Map
The 21st Century Harvard Map
 

Viewers also liked

Presentacion ciencia y tecnologia
Presentacion ciencia y tecnologiaPresentacion ciencia y tecnologia
Presentacion ciencia y tecnologiabenigno rodriguez
 
Jobs in bihar
Jobs in biharJobs in bihar
Jobs in biharlucy grey
 
Using our class blog in literacy
Using our class blog in literacyUsing our class blog in literacy
Using our class blog in literacyKellyJordan
 
Referrel Agent introduction
Referrel Agent introductionReferrel Agent introduction
Referrel Agent introductionTint Works Inc
 
Дорожня карта успішної адвокасі кампанії
Дорожня карта успішної адвокасі кампаніїДорожня карта успішної адвокасі кампанії
Дорожня карта успішної адвокасі кампаніїCentre Eidos
 
Remote Geocoding
Remote GeocodingRemote Geocoding
Remote Geocodinglokku
 
Empowering patients by ana-maria marian - ebbf international event #building ...
Empowering patients by ana-maria marian - ebbf international event #building ...Empowering patients by ana-maria marian - ebbf international event #building ...
Empowering patients by ana-maria marian - ebbf international event #building ...ebbf - mindful people, meaningful work
 
Building SaaS Enabled Applications
Building SaaS Enabled ApplicationsBuilding SaaS Enabled Applications
Building SaaS Enabled ApplicationsMovate
 
Kyiv Smart City: e-democracy
Kyiv Smart City: e-democracyKyiv Smart City: e-democracy
Kyiv Smart City: e-democracyCentre Eidos
 
U6 Interchange 3
U6 Interchange 3U6 Interchange 3
U6 Interchange 3c.meza
 
Jogos Olímpicos
Jogos OlímpicosJogos Olímpicos
Jogos Olímpicosbecrejovim
 

Viewers also liked (20)

GréCia Antiga
GréCia AntigaGréCia Antiga
GréCia Antiga
 
Presentacion ciencia y tecnologia
Presentacion ciencia y tecnologiaPresentacion ciencia y tecnologia
Presentacion ciencia y tecnologia
 
Jobs in bihar
Jobs in biharJobs in bihar
Jobs in bihar
 
GréCia
GréCiaGréCia
GréCia
 
Laura
LauraLaura
Laura
 
Using our class blog in literacy
Using our class blog in literacyUsing our class blog in literacy
Using our class blog in literacy
 
Referrel Agent introduction
Referrel Agent introductionReferrel Agent introduction
Referrel Agent introduction
 
Дорожня карта успішної адвокасі кампанії
Дорожня карта успішної адвокасі кампаніїДорожня карта успішної адвокасі кампанії
Дорожня карта успішної адвокасі кампанії
 
Remote Geocoding
Remote GeocodingRemote Geocoding
Remote Geocoding
 
FS S3
FS S3FS S3
FS S3
 
Empowering patients by ana-maria marian - ebbf international event #building ...
Empowering patients by ana-maria marian - ebbf international event #building ...Empowering patients by ana-maria marian - ebbf international event #building ...
Empowering patients by ana-maria marian - ebbf international event #building ...
 
Building SaaS Enabled Applications
Building SaaS Enabled ApplicationsBuilding SaaS Enabled Applications
Building SaaS Enabled Applications
 
World Robot Olympiad 2017
World Robot Olympiad 2017World Robot Olympiad 2017
World Robot Olympiad 2017
 
Kyiv Smart City: e-democracy
Kyiv Smart City: e-democracyKyiv Smart City: e-democracy
Kyiv Smart City: e-democracy
 
Evolution of the mummy
Evolution of the mummyEvolution of the mummy
Evolution of the mummy
 
Company profile pti
Company profile   ptiCompany profile   pti
Company profile pti
 
U6 Interchange 3
U6 Interchange 3U6 Interchange 3
U6 Interchange 3
 
Unit 3 L4 N.I.3
Unit 3 L4 N.I.3Unit 3 L4 N.I.3
Unit 3 L4 N.I.3
 
Unit 15 N.I. Would You Like To Leave A Message
Unit 15 N.I. Would You Like To Leave A MessageUnit 15 N.I. Would You Like To Leave A Message
Unit 15 N.I. Would You Like To Leave A Message
 
Jogos Olímpicos
Jogos OlímpicosJogos Olímpicos
Jogos Olímpicos
 

Similar to Mapstraction

Drupal and the GeoSpatial Web
Drupal and the GeoSpatial WebDrupal and the GeoSpatial Web
Drupal and the GeoSpatial WebAndrew Turner
 
O'Reilly WebCast - Trends And Technologies In Where2.0
O'Reilly WebCast - Trends And Technologies In Where2.0O'Reilly WebCast - Trends And Technologies In Where2.0
O'Reilly WebCast - Trends And Technologies In Where2.0Andrew Turner
 
ESRI Dev Meetup: Building Distributed JavaScript Map Widgets
ESRI Dev Meetup: Building Distributed JavaScript Map WidgetsESRI Dev Meetup: Building Distributed JavaScript Map Widgets
ESRI Dev Meetup: Building Distributed JavaScript Map WidgetsAllan Glen
 
WebGL, HTML5 and How the Mobile Web Was Won
WebGL, HTML5 and How the Mobile Web Was WonWebGL, HTML5 and How the Mobile Web Was Won
WebGL, HTML5 and How the Mobile Web Was WonTony Parisi
 
CHUG_presentation_Hope
CHUG_presentation_HopeCHUG_presentation_Hope
CHUG_presentation_HopeLara Juliusson
 
Building Real-Time Applications with Android and WebSockets
Building Real-Time Applications with Android and WebSocketsBuilding Real-Time Applications with Android and WebSockets
Building Real-Time Applications with Android and WebSocketsSergi Almar i Graupera
 
Web enabling your survey business ppt version
Web enabling your survey business ppt versionWeb enabling your survey business ppt version
Web enabling your survey business ppt versionrudy_stricklan
 
Analyzing the Performance of Mobile Web
Analyzing the Performance of Mobile WebAnalyzing the Performance of Mobile Web
Analyzing the Performance of Mobile WebAriya Hidayat
 
GeoAdmin API & Mobile API, 2012
GeoAdmin API & Mobile API, 2012GeoAdmin API & Mobile API, 2012
GeoAdmin API & Mobile API, 2012Moullet
 
Android L08 - Google Maps and Utilities
Android L08 - Google Maps and UtilitiesAndroid L08 - Google Maps and Utilities
Android L08 - Google Maps and UtilitiesMohammad Shaker
 
Gmaps Railscamp2008
Gmaps Railscamp2008Gmaps Railscamp2008
Gmaps Railscamp2008xilinus
 
NCGIC The Geospatial Revolution
NCGIC The Geospatial RevolutionNCGIC The Geospatial Revolution
NCGIC The Geospatial RevolutionPeter Batty
 
Current State of mago3D, an Open Source Based Digital Twin Platform
Current State of mago3D, an Open Source Based Digital Twin PlatformCurrent State of mago3D, an Open Source Based Digital Twin Platform
Current State of mago3D, an Open Source Based Digital Twin PlatformSANGHEE SHIN
 
OL4JSF - Latinoware 2010
OL4JSF - Latinoware 2010OL4JSF - Latinoware 2010
OL4JSF - Latinoware 2010Robert Anderson
 
Introduction to GeoPackage and OWS Context
Introduction to GeoPackage and OWS ContextIntroduction to GeoPackage and OWS Context
Introduction to GeoPackage and OWS ContextRaj Singh
 
Ioannis Doxaras on GIS and Gmaps at 1st GTUG meetup Greece
Ioannis Doxaras on GIS and Gmaps at 1st GTUG meetup Greece Ioannis Doxaras on GIS and Gmaps at 1st GTUG meetup Greece
Ioannis Doxaras on GIS and Gmaps at 1st GTUG meetup Greece CoLab Athens
 
3D Web Services And Models For The Web: Where Do We Stand?
3D Web Services And Models For The Web: Where Do We Stand?3D Web Services And Models For The Web: Where Do We Stand?
3D Web Services And Models For The Web: Where Do We Stand?Camptocamp
 

Similar to Mapstraction (20)

Drupal and the GeoSpatial Web
Drupal and the GeoSpatial WebDrupal and the GeoSpatial Web
Drupal and the GeoSpatial Web
 
O'Reilly WebCast - Trends And Technologies In Where2.0
O'Reilly WebCast - Trends And Technologies In Where2.0O'Reilly WebCast - Trends And Technologies In Where2.0
O'Reilly WebCast - Trends And Technologies In Where2.0
 
ESRI Dev Meetup: Building Distributed JavaScript Map Widgets
ESRI Dev Meetup: Building Distributed JavaScript Map WidgetsESRI Dev Meetup: Building Distributed JavaScript Map Widgets
ESRI Dev Meetup: Building Distributed JavaScript Map Widgets
 
WebGL, HTML5 and How the Mobile Web Was Won
WebGL, HTML5 and How the Mobile Web Was WonWebGL, HTML5 and How the Mobile Web Was Won
WebGL, HTML5 and How the Mobile Web Was Won
 
CHUG_presentation_Hope
CHUG_presentation_HopeCHUG_presentation_Hope
CHUG_presentation_Hope
 
Building Real-Time Applications with Android and WebSockets
Building Real-Time Applications with Android and WebSocketsBuilding Real-Time Applications with Android and WebSockets
Building Real-Time Applications with Android and WebSockets
 
Web enabling your survey business ppt version
Web enabling your survey business ppt versionWeb enabling your survey business ppt version
Web enabling your survey business ppt version
 
Scripting GeoServer
Scripting GeoServerScripting GeoServer
Scripting GeoServer
 
Analyzing the Performance of Mobile Web
Analyzing the Performance of Mobile WebAnalyzing the Performance of Mobile Web
Analyzing the Performance of Mobile Web
 
GeoAdmin API & Mobile API, 2012
GeoAdmin API & Mobile API, 2012GeoAdmin API & Mobile API, 2012
GeoAdmin API & Mobile API, 2012
 
Android L08 - Google Maps and Utilities
Android L08 - Google Maps and UtilitiesAndroid L08 - Google Maps and Utilities
Android L08 - Google Maps and Utilities
 
Gmaps Railscamp2008
Gmaps Railscamp2008Gmaps Railscamp2008
Gmaps Railscamp2008
 
NCGIC The Geospatial Revolution
NCGIC The Geospatial RevolutionNCGIC The Geospatial Revolution
NCGIC The Geospatial Revolution
 
Agi08 Jeremy Morley
Agi08 Jeremy MorleyAgi08 Jeremy Morley
Agi08 Jeremy Morley
 
Open layers
Open layersOpen layers
Open layers
 
Current State of mago3D, an Open Source Based Digital Twin Platform
Current State of mago3D, an Open Source Based Digital Twin PlatformCurrent State of mago3D, an Open Source Based Digital Twin Platform
Current State of mago3D, an Open Source Based Digital Twin Platform
 
OL4JSF - Latinoware 2010
OL4JSF - Latinoware 2010OL4JSF - Latinoware 2010
OL4JSF - Latinoware 2010
 
Introduction to GeoPackage and OWS Context
Introduction to GeoPackage and OWS ContextIntroduction to GeoPackage and OWS Context
Introduction to GeoPackage and OWS Context
 
Ioannis Doxaras on GIS and Gmaps at 1st GTUG meetup Greece
Ioannis Doxaras on GIS and Gmaps at 1st GTUG meetup Greece Ioannis Doxaras on GIS and Gmaps at 1st GTUG meetup Greece
Ioannis Doxaras on GIS and Gmaps at 1st GTUG meetup Greece
 
3D Web Services And Models For The Web: Where Do We Stand?
3D Web Services And Models For The Web: Where Do We Stand?3D Web Services And Models For The Web: Where Do We Stand?
3D Web Services And Models For The Web: Where Do We Stand?
 

More from lokku

Geocoding Overview
Geocoding OverviewGeocoding Overview
Geocoding Overviewlokku
 
OpenCage Data and sustainable business models for open data
OpenCage Data and sustainable business models for open data OpenCage Data and sustainable business models for open data
OpenCage Data and sustainable business models for open data lokku
 
Presenting the OpenCage Geocoder at #londonapi 17 Sept 2014
Presenting the OpenCage Geocoder at #londonapi 17 Sept 2014Presenting the OpenCage Geocoder at #londonapi 17 Sept 2014
Presenting the OpenCage Geocoder at #londonapi 17 Sept 2014lokku
 
A living hell - lessons learned in eight years of parsing real estate data
A living hell - lessons learned in eight years of parsing real estate data  A living hell - lessons learned in eight years of parsing real estate data
A living hell - lessons learned in eight years of parsing real estate data lokku
 
Geo-search-location-based-results-for-site-search
Geo-search-location-based-results-for-site-searchGeo-search-location-based-results-for-site-search
Geo-search-location-based-results-for-site-searchlokku
 
Geocoding India - talk delivered on 31 Jan 2014 at the Bangalore goeBLR event
Geocoding India - talk delivered on 31 Jan 2014 at the Bangalore goeBLR eventGeocoding India - talk delivered on 31 Jan 2014 at the Bangalore goeBLR event
Geocoding India - talk delivered on 31 Jan 2014 at the Bangalore goeBLR eventlokku
 
Nestoria new design
Nestoria new designNestoria new design
Nestoria new designlokku
 
CSS::SpriteMaker in action!
CSS::SpriteMaker in action!CSS::SpriteMaker in action!
CSS::SpriteMaker in action!lokku
 
Reducing the technical hurdle - why we started OpenCage Data
Reducing the technical hurdle - why we started OpenCage DataReducing the technical hurdle - why we started OpenCage Data
Reducing the technical hurdle - why we started OpenCage Datalokku
 
Css sprite_maker-1
Css  sprite_maker-1Css  sprite_maker-1
Css sprite_maker-1lokku
 
Nestoria case study - The effective use of geo-data for search marketing
Nestoria case study - The effective use of geo-data for search marketingNestoria case study - The effective use of geo-data for search marketing
Nestoria case study - The effective use of geo-data for search marketinglokku
 
The Nestoria GeoChallenge
The Nestoria GeoChallengeThe Nestoria GeoChallenge
The Nestoria GeoChallengelokku
 
Geo-Data for Search Marketing SEM & SEO
Geo-Data for Search Marketing SEM & SEOGeo-Data for Search Marketing SEM & SEO
Geo-Data for Search Marketing SEM & SEOlokku
 
Making using OSM data simpler - OpenCage Data
Making using OSM data simpler - OpenCage Data Making using OSM data simpler - OpenCage Data
Making using OSM data simpler - OpenCage Data lokku
 
What’s next in mapping for portals? ppw2012
What’s next in mapping for portals? ppw2012What’s next in mapping for portals? ppw2012
What’s next in mapping for portals? ppw2012lokku
 
How Nestoria switched to OpenStreetMap maps
How Nestoria switched to OpenStreetMap mapsHow Nestoria switched to OpenStreetMap maps
How Nestoria switched to OpenStreetMap mapslokku
 
Lessons learned in doing lots with few people
Lessons learned in  doing lots with few peopleLessons learned in  doing lots with few people
Lessons learned in doing lots with few peoplelokku
 
Bar Camp London 7
Bar Camp London 7Bar Camp London 7
Bar Camp London 7lokku
 
The path ahead for property portals
The path ahead for property portalsThe path ahead for property portals
The path ahead for property portalslokku
 
How People Search For Locations
How People Search For LocationsHow People Search For Locations
How People Search For Locationslokku
 

More from lokku (20)

Geocoding Overview
Geocoding OverviewGeocoding Overview
Geocoding Overview
 
OpenCage Data and sustainable business models for open data
OpenCage Data and sustainable business models for open data OpenCage Data and sustainable business models for open data
OpenCage Data and sustainable business models for open data
 
Presenting the OpenCage Geocoder at #londonapi 17 Sept 2014
Presenting the OpenCage Geocoder at #londonapi 17 Sept 2014Presenting the OpenCage Geocoder at #londonapi 17 Sept 2014
Presenting the OpenCage Geocoder at #londonapi 17 Sept 2014
 
A living hell - lessons learned in eight years of parsing real estate data
A living hell - lessons learned in eight years of parsing real estate data  A living hell - lessons learned in eight years of parsing real estate data
A living hell - lessons learned in eight years of parsing real estate data
 
Geo-search-location-based-results-for-site-search
Geo-search-location-based-results-for-site-searchGeo-search-location-based-results-for-site-search
Geo-search-location-based-results-for-site-search
 
Geocoding India - talk delivered on 31 Jan 2014 at the Bangalore goeBLR event
Geocoding India - talk delivered on 31 Jan 2014 at the Bangalore goeBLR eventGeocoding India - talk delivered on 31 Jan 2014 at the Bangalore goeBLR event
Geocoding India - talk delivered on 31 Jan 2014 at the Bangalore goeBLR event
 
Nestoria new design
Nestoria new designNestoria new design
Nestoria new design
 
CSS::SpriteMaker in action!
CSS::SpriteMaker in action!CSS::SpriteMaker in action!
CSS::SpriteMaker in action!
 
Reducing the technical hurdle - why we started OpenCage Data
Reducing the technical hurdle - why we started OpenCage DataReducing the technical hurdle - why we started OpenCage Data
Reducing the technical hurdle - why we started OpenCage Data
 
Css sprite_maker-1
Css  sprite_maker-1Css  sprite_maker-1
Css sprite_maker-1
 
Nestoria case study - The effective use of geo-data for search marketing
Nestoria case study - The effective use of geo-data for search marketingNestoria case study - The effective use of geo-data for search marketing
Nestoria case study - The effective use of geo-data for search marketing
 
The Nestoria GeoChallenge
The Nestoria GeoChallengeThe Nestoria GeoChallenge
The Nestoria GeoChallenge
 
Geo-Data for Search Marketing SEM & SEO
Geo-Data for Search Marketing SEM & SEOGeo-Data for Search Marketing SEM & SEO
Geo-Data for Search Marketing SEM & SEO
 
Making using OSM data simpler - OpenCage Data
Making using OSM data simpler - OpenCage Data Making using OSM data simpler - OpenCage Data
Making using OSM data simpler - OpenCage Data
 
What’s next in mapping for portals? ppw2012
What’s next in mapping for portals? ppw2012What’s next in mapping for portals? ppw2012
What’s next in mapping for portals? ppw2012
 
How Nestoria switched to OpenStreetMap maps
How Nestoria switched to OpenStreetMap mapsHow Nestoria switched to OpenStreetMap maps
How Nestoria switched to OpenStreetMap maps
 
Lessons learned in doing lots with few people
Lessons learned in  doing lots with few peopleLessons learned in  doing lots with few people
Lessons learned in doing lots with few people
 
Bar Camp London 7
Bar Camp London 7Bar Camp London 7
Bar Camp London 7
 
The path ahead for property portals
The path ahead for property portalsThe path ahead for property portals
The path ahead for property portals
 
How People Search For Locations
How People Search For LocationsHow People Search For Locations
How People Search For Locations
 

Recently uploaded

Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 

Recently uploaded (20)

Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 

Mapstraction

  • 1. Mapstraction Ed Freyfogle - #Geomob - 18 Nov. 2009
  • 2. One mapping API to rule them all http://www.flickr.com/photos/workinpana/4031371930/
  • 3. Why Mapstraction? Flexibility • reduce dependency on single provider • single code base but different providers Mix and match features • street view of A with satellite view of B • offer users choice Future proofing • Provider T&Cs/functionalities can change
  • 5.
  • 6.
  • 7. Mapstraction features • markers • multiple maps/page • bubbles • KML/GeoRSS • polygons • event handling • overlays • geocoding
  • 8. A bit of history Started in 2006 /* Copyright (c) ${YEAR} Tom Carden, Steve Coast, Mikel Maron, Andrew Turner, Henri Bergius, Rob Moran, Derek Fowler All rights reserved. … V1 available in 2006, some uptake.
  • 9. “Plan to throw the first one away” - Fred Brooks
  • 11. And hence mxn v2 was born Much smaller (20k versus 170k) note: YMMV Much cleaner and modular Testing infrastructure, API sandbox
  • 12. Mini v2 tutorial 1. include library(ies) of provider(s)-of-choice <script type="text/javascript"> var cloudmade_key = ”1234…"; </script> <script src="http://tile.cloudmade.com/…-lite.js” <script src="http://maps.google.com/maps? …” 2. Include mxn <script src="mxn.js?(google,cloudmade)” …>
  • 13. Mini v2 tutorial (cont.) 3. Get to work <div id="mapdiv" style="height: 200px; width: 400px;"></div> <script type="text/javascript"> var m = new mxn.Mapstraction('mapdiv',’cloudmade'); var latlon = new mxn.LatLonPoint( 51.52276321095246, -0.10265350341796); // put map on page m.setCenterAndZoom(latlon, 16); //add a marker var marker = new mxn.Marker(latlon); m.addMarker(marker); //change map provider on the fly m.swap('mapdiv', ’google'); </script>
  • 14. mxn current status mxn v2 in use and actively being developed Support for cloudmade, geocommons, google (v2 and v3), microsoft, openlayers, yahoo Documentation/project page could be better Lots more to be done more providers, geocoding, new features We need your help!
  • 16. Learn more About mxn: http://www.mapstraction.com mapstraction@lists.mapstraction.com About me: @freyfogle About Nestoria: http://www.nestoria.com @nestoria