Alternative Mapping on iOS
Upcoming SlideShare
Loading in...5
×
 

Alternative Mapping on iOS

on

  • 3,100 views

 

Statistics

Views

Total Views
3,100
Views on SlideShare
3,023
Embed Views
77

Actions

Likes
0
Downloads
17
Comments
0

1 Embed 77

http://developmentseed.org 77

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Alternative Mapping on iOS Alternative Mapping on iOS Presentation Transcript

  • Alternative Mapping On iOS Justin Miller Development SeedMonday, August 15, 2011
  • “MapKit? Where we’re going, we don’t need MapKit...”Monday, August 15, 2011
  • Alternative?Monday, August 15, 2011
  • Alternative? • Alternative to Apple’s MapKit.frameworkMonday, August 15, 2011
  • Alternative? • Alternative to Apple’s MapKit.framework • Custom aesthetic - colors, level of detailMonday, August 15, 2011
  • Alternative? • Alternative to Apple’s MapKit.framework • Custom aesthetic - colors, level of detail • Custom behaviors - offline use, layeringMonday, August 15, 2011
  • Alternative? • Alternative to Apple’s MapKit.framework • Custom aesthetic - colors, level of detail • Custom behaviors - offline use, layering • Custom sources - boundaries, languagesMonday, August 15, 2011
  • Map TilesMonday, August 15, 2011
  • Monday, August 15, 2011
  • Monday, August 15, 2011
  • Tile-Based Map ImagesMonday, August 15, 2011
  • Tile-Based Map Images • Can easily number in the millionsMonday, August 15, 2011
  • Tile-Based Map Images • Can easily number in the millions • Zoom level 0Monday, August 15, 2011
  • Tile-Based Map Images • Can easily number in the millions • Zoom level 0 • One 256x256 tileMonday, August 15, 2011
  • Tile-Based Map Images • Can easily number in the millions • Zoom level 0 • One 256x256 tile • Zoom level 18Monday, August 15, 2011
  • Tile-Based Map Images • Can easily number in the millions • Zoom level 0 • One 256x256 tile • Zoom level 18 • 68,719,476,736 tilesMonday, August 15, 2011
  • Tile-Based Map Images • Can easily number in the millions • Zoom level 0 • One 256x256 tile • Zoom level 18 • 68,719,476,736 tiles • This is a PITA for USB or network transfer en masseMonday, August 15, 2011
  • Tile-Based Map Images • Can easily number in the millions • Zoom level 0 • One 256x256 tile • Zoom level 18 • 68,719,476,736 tiles • This is a PITA for USB or network transfer en masseMonday, August 15, 2011
  • Tile-Based Map Images • Can easily number in the millions • Zoom level 0 • One 256x256 tile • Zoom level 18 • 68,719,476,736 tiles • This is a PITA for USB or network transfer en masseMonday, August 15, 2011
  • Solution?Monday, August 15, 2011
  • Solution? • SQLite: self-contained, cross-platform, serverlessMonday, August 15, 2011
  • Solution? • SQLite: self-contained, cross-platform, serverless • “Small. Fast. Reliable. Choose any three.”Monday, August 15, 2011
  • Solution? • SQLite: self-contained, cross-platform, serverless • “Small. Fast. Reliable. Choose any three.”Monday, August 15, 2011
  • Solution? • SQLite: self-contained, cross-platform, serverless • “Small. Fast. Reliable. Choose any three.” • MBTiles: a simple schemaMonday, August 15, 2011
  • Solution? • SQLite: self-contained, cross-platform, serverless • “Small. Fast. Reliable. Choose any three.” • MBTiles: a simple schema • Name, zoom levels, attribution, version, etc.Monday, August 15, 2011
  • Solution? • SQLite: self-contained, cross-platform, serverless • “Small. Fast. Reliable. Choose any three.” • MBTiles: a simple schema • Name, zoom levels, attribution, version, etc. • Store tile images as binary dataMonday, August 15, 2011
  • Added Bonuses (Bonusi?)Monday, August 15, 2011
  • Added Bonuses (Bonusi?) • Can weed out duplicate tiles (i.e., oceans)Monday, August 15, 2011
  • Added Bonuses (Bonusi?) • Can weed out duplicate tiles (i.e., oceans) • Generally zip down pretty wellMonday, August 15, 2011
  • Added Bonuses (Bonusi?) • Can weed out duplicate tiles (i.e., oceans) • Generally zip down pretty well • 3GB on diskMonday, August 15, 2011
  • Added Bonuses (Bonusi?) • Can weed out duplicate tiles (i.e., oceans) • Generally zip down pretty well • 3GB on disk • 1GB in SQLiteMonday, August 15, 2011
  • Added Bonuses (Bonusi?) • Can weed out duplicate tiles (i.e., oceans) • Generally zip down pretty well • 3GB on disk • 1GB in SQLite • 200MB in .ipaMonday, August 15, 2011
  • Added Bonuses (Bonusi?) • Can weed out duplicate tiles (i.e., oceans) • Generally zip down pretty well • 3GB on disk • 1GB in SQLite • 200MB in .ipa • Easy on the userMonday, August 15, 2011
  • Ok, So Now What?Monday, August 15, 2011
  • Ok, So Now What? • Needed a frameworkMonday, August 15, 2011
  • Ok, So Now What? • Needed a framework • Evaluated; found route-meMonday, August 15, 2011
  • Ok, So Now What? • Needed a framework • Evaluated; found route-me • Google Code at the time; now GitHubMonday, August 15, 2011
  • Ok, So Now What? • Needed a framework • Evaluated; found route-me • Google Code at the time; now GitHub • Reasonably active (GitHub has helped)Monday, August 15, 2011
  • Ok, So Now What? • Needed a framework • Evaluated; found route-me • Google Code at the time; now GitHub • Reasonably active (GitHub has helped) • Open source (BSD license)Monday, August 15, 2011
  • route-meMonday, August 15, 2011
  • route-me • NOT a MapKit drop-in replacementMonday, August 15, 2011
  • route-me • NOT a MapKit drop-in replacement • It’s got its own funky conventionsMonday, August 15, 2011
  • route-me • NOT a MapKit drop-in replacement • It’s got its own funky conventions • It could probably use some refactoringMonday, August 15, 2011
  • route-me • NOT a MapKit drop-in replacement • It’s got its own funky conventions • It could probably use some refactoring • Does a lot with CALayer directlyMonday, August 15, 2011
  • route-me • NOT a MapKit drop-in replacement • It’s got its own funky conventions • It could probably use some refactoring • Does a lot with CALayer directly • Not as finely-tuned as MapKitMonday, August 15, 2011
  • route-me • NOT a MapKit drop-in replacement • It’s got its own funky conventions • It could probably use some refactoring • Does a lot with CALayer directly • Not as finely-tuned as MapKit “I’ve got my own customs!”Monday, August 15, 2011
  • ExamplesMonday, August 15, 2011
  • Monday, August 15, 2011
  • Monday, August 15, 2011
  • Monday, August 15, 2011
  • Monday, August 15, 2011
  • Monday, August 15, 2011
  • Monday, August 15, 2011
  • Monday, August 15, 2011
  • Monday, August 15, 2011
  • Monday, August 15, 2011
  • Monday, August 15, 2011
  • Monday, August 15, 2011
  • GitHubStuffMonday, August 15, 2011
  • GitHubStuff • tilemill • wax • tilestream • tilelive.js • mbtiles-spec • Simple KML • mbutil • Fingertips • carto • route-me*Monday, August 15, 2011
  • For More Info • GitHub: github.com/mapbox • Twitter: @incanus77, @mapbox, and @developmentseed • App Store: MapBox (iPad only) • Web: mapbox.comMonday, August 15, 2011
  • Thanks!Monday, August 15, 2011