alternative mapping on ios

62
Alternative Mapping On iOS Justin Miller Development Seed Monday, August 15, 2011

Upload: development-seed

Post on 08-May-2015

2.699 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Alternative Mapping on iOS

Alternative Mapping On iOSJustin Miller

Development Seed

Monday, August 15, 2011

Page 2: Alternative Mapping on iOS

“MapKit? Where we’re going, we don’t need MapKit...”

Monday, August 15, 2011

Page 3: Alternative Mapping on iOS

Alternative?

Monday, August 15, 2011

Page 4: Alternative Mapping on iOS

Alternative?

• Alternative to Apple’s MapKit.framework

Monday, August 15, 2011

Page 5: Alternative Mapping on iOS

Alternative?

• Alternative to Apple’s MapKit.framework

• Custom aesthetic - colors, level of detail

Monday, August 15, 2011

Page 6: Alternative Mapping on iOS

Alternative?

• Alternative to Apple’s MapKit.framework

• Custom aesthetic - colors, level of detail

• Custom behaviors - offline use, layering

Monday, August 15, 2011

Page 7: Alternative Mapping on iOS

Alternative?

• Alternative to Apple’s MapKit.framework

• Custom aesthetic - colors, level of detail

• Custom behaviors - offline use, layering

• Custom sources - boundaries, languages

Monday, August 15, 2011

Page 8: Alternative Mapping on iOS

Map Tiles

Monday, August 15, 2011

Page 9: Alternative Mapping on iOS

Monday, August 15, 2011

Page 10: Alternative Mapping on iOS

Monday, August 15, 2011

Page 11: Alternative Mapping on iOS

Tile-Based Map Images

Monday, August 15, 2011

Page 12: Alternative Mapping on iOS

Tile-Based Map Images

• Can easily number in the millions

Monday, August 15, 2011

Page 13: Alternative Mapping on iOS

Tile-Based Map Images

• Can easily number in the millions

• Zoom level 0

Monday, August 15, 2011

Page 14: Alternative Mapping on iOS

Tile-Based Map Images

• Can easily number in the millions

• Zoom level 0

• One 256x256 tile

Monday, August 15, 2011

Page 15: Alternative Mapping on iOS

Tile-Based Map Images

• Can easily number in the millions

• Zoom level 0

• One 256x256 tile

• Zoom level 18

Monday, August 15, 2011

Page 16: Alternative Mapping on iOS

Tile-Based Map Images

• Can easily number in the millions

• Zoom level 0

• One 256x256 tile

• Zoom level 18

• 68,719,476,736 tiles

Monday, August 15, 2011

Page 17: Alternative Mapping on iOS

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 masse

Monday, August 15, 2011

Page 18: Alternative Mapping on iOS

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 masse

Monday, August 15, 2011

Page 19: Alternative Mapping on iOS

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 masse

Monday, August 15, 2011

Page 20: Alternative Mapping on iOS

Solution?

Monday, August 15, 2011

Page 21: Alternative Mapping on iOS

Solution?

• SQLite: self-contained, cross-platform, serverless

Monday, August 15, 2011

Page 22: Alternative Mapping on iOS

Solution?

• SQLite: self-contained, cross-platform, serverless

• “Small. Fast. Reliable. Choose any three.”

Monday, August 15, 2011

Page 23: Alternative Mapping on iOS

Solution?

• SQLite: self-contained, cross-platform, serverless

• “Small. Fast. Reliable. Choose any three.”

Monday, August 15, 2011

Page 24: Alternative Mapping on iOS

Solution?

• SQLite: self-contained, cross-platform, serverless

• “Small. Fast. Reliable. Choose any three.”

• MBTiles: a simple schema

Monday, August 15, 2011

Page 25: Alternative Mapping on iOS

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

Page 26: Alternative Mapping on iOS

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 data

Monday, August 15, 2011

Page 27: Alternative Mapping on iOS

Added Bonuses (Bonusi?)

Monday, August 15, 2011

Page 28: Alternative Mapping on iOS

Added Bonuses (Bonusi?)

• Can weed out duplicate tiles (i.e., oceans)

Monday, August 15, 2011

Page 29: Alternative Mapping on iOS

Added Bonuses (Bonusi?)

• Can weed out duplicate tiles (i.e., oceans)

• Generally zip down pretty well

Monday, August 15, 2011

Page 30: Alternative Mapping on iOS

Added Bonuses (Bonusi?)

• Can weed out duplicate tiles (i.e., oceans)

• Generally zip down pretty well

• 3GB on disk

Monday, August 15, 2011

Page 31: Alternative Mapping on iOS

Added Bonuses (Bonusi?)

• Can weed out duplicate tiles (i.e., oceans)

• Generally zip down pretty well

• 3GB on disk

• 1GB in SQLite

Monday, August 15, 2011

Page 32: Alternative Mapping on iOS

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

Monday, August 15, 2011

Page 33: Alternative Mapping on iOS

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 user

Monday, August 15, 2011

Page 34: Alternative Mapping on iOS

Ok, So Now What?

Monday, August 15, 2011

Page 35: Alternative Mapping on iOS

Ok, So Now What?

• Needed a framework

Monday, August 15, 2011

Page 36: Alternative Mapping on iOS

Ok, So Now What?

• Needed a framework

• Evaluated; found route-me

Monday, August 15, 2011

Page 37: Alternative Mapping on iOS

Ok, So Now What?

• Needed a framework

• Evaluated; found route-me

• Google Code at the time; now GitHub

Monday, August 15, 2011

Page 38: Alternative Mapping on iOS

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

Page 39: Alternative Mapping on iOS

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

Page 40: Alternative Mapping on iOS

route-me

Monday, August 15, 2011

Page 41: Alternative Mapping on iOS

route-me

• NOT a MapKit drop-in replacement

Monday, August 15, 2011

Page 42: Alternative Mapping on iOS

route-me

• NOT a MapKit drop-in replacement

• It’s got its own funky conventions

Monday, August 15, 2011

Page 43: Alternative Mapping on iOS

route-me

• NOT a MapKit drop-in replacement

• It’s got its own funky conventions

• It could probably use some refactoring

Monday, August 15, 2011

Page 44: Alternative Mapping on iOS

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

Monday, August 15, 2011

Page 45: Alternative Mapping on iOS

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

Monday, August 15, 2011

Page 46: Alternative Mapping on iOS

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

Page 47: Alternative Mapping on iOS

Examples

Monday, August 15, 2011

Page 48: Alternative Mapping on iOS

Monday, August 15, 2011

Page 49: Alternative Mapping on iOS

Monday, August 15, 2011

Page 50: Alternative Mapping on iOS

Monday, August 15, 2011

Page 51: Alternative Mapping on iOS

Monday, August 15, 2011

Page 52: Alternative Mapping on iOS

Monday, August 15, 2011

Page 53: Alternative Mapping on iOS

Monday, August 15, 2011

Page 54: Alternative Mapping on iOS

Monday, August 15, 2011

Page 55: Alternative Mapping on iOS

Monday, August 15, 2011

Page 56: Alternative Mapping on iOS

Monday, August 15, 2011

Page 57: Alternative Mapping on iOS

Monday, August 15, 2011

Page 58: Alternative Mapping on iOS

Monday, August 15, 2011

Page 59: Alternative Mapping on iOS

GitHubStuff

Monday, August 15, 2011

Page 60: Alternative Mapping on iOS

GitHubStuff

• tilemill

• tilestream

• mbtiles-spec

• mbutil

• carto

• wax

• tilelive.js

• Simple KML

• Fingertips

• route-me*

Monday, August 15, 2011

Page 61: Alternative Mapping on iOS

For More Info

• GitHub: github.com/mapbox

• Twitter: @incanus77, @mapbox, and @developmentseed

• App Store: MapBox (iPad only)

• Web: mapbox.com

Monday, August 15, 2011

Page 62: Alternative Mapping on iOS

Thanks!

Monday, August 15, 2011