Building Location-Aware Apps using Open Source (AnDevCon SF 2014)
-
Upload
chuck-greb -
Category
Technology
-
view
289 -
download
3
Transcript of Building Location-Aware Apps using Open Source (AnDevCon SF 2014)
![Page 1: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/1.jpg)
Building Location-Aware Appswith Open Source & Open Data
Chuck Greb | 11·18·2014 | AnDevCon
![Page 2: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/2.jpg)
Mapzen is an open source mapping lab building and supporting open data and software to promote a healthy mapping
ecosystem.
![Page 3: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/3.jpg)
start where you are
![Page 4: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/4.jpg)
Hour 1: Overview
⇢ Location-aware apps
⇢ Open source
⇢ Open data
Hour 2: Rendering
⇢ Raster tiles
⇢ Vector tiles
Hour 3: Search & Navigation
⇢ Location services
⇢ Geocoding
⇢ Routing
Agenda
![Page 5: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/5.jpg)
![Page 6: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/6.jpg)
![Page 7: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/7.jpg)
![Page 8: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/8.jpg)
![Page 9: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/9.jpg)
![Page 10: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/10.jpg)
![Page 11: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/11.jpg)
![Page 12: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/12.jpg)
![Page 14: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/14.jpg)
start where you are
![Page 15: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/15.jpg)
Building Location-Aware Appswith Open Source & Open Data
![Page 16: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/16.jpg)
3 kinds of location-aware apps
⇢ Mapping applications
⇢ Location-based apps
⇢ Apps with location-aware features
Location-Aware Apps
![Page 17: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/17.jpg)
Mapping applications
![Page 18: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/18.jpg)
![Page 19: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/19.jpg)
![Page 20: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/20.jpg)
![Page 21: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/21.jpg)
Location-based apps
![Page 22: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/22.jpg)
![Page 23: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/23.jpg)
![Page 24: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/24.jpg)
![Page 25: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/25.jpg)
![Page 26: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/26.jpg)
Apps with location-aware features
![Page 27: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/27.jpg)
![Page 28: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/28.jpg)
![Page 29: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/29.jpg)
Common features
⇢ Maps
⇢ Geolocation
⇢ Geocoding
⇢ Reverse geocoding
⇢ Search
⇢ Navigation
Location-Aware Apps
![Page 30: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/30.jpg)
Building Location-Aware Appswith Open Source & Open Data
![Page 31: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/31.jpg)
Philosophy
Open Source
![Page 32: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/32.jpg)
Code
Open Source
![Page 33: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/33.jpg)
License
Open Source
![Page 34: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/34.jpg)
Community
Open Source
![Page 35: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/35.jpg)
Advantages
⇢ Transparency
⇢ Flexibility
⇢ Compatibility
⇢ Free!
Open Source
![Page 36: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/36.jpg)
Open source is not free like beer
Open Source
![Page 37: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/37.jpg)
Open source is free like a puppy
Open Source
![Page 38: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/38.jpg)
Building Location-Aware Appswith Open Source & Open Data
![Page 39: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/39.jpg)
Availability & Access
Open Data
![Page 40: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/40.jpg)
Reuse & Redistribution
Open Data
![Page 41: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/41.jpg)
Universal participation
Open Data
![Page 43: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/43.jpg)
Building Location-Aware Appswith Open Source & Open Data
![Page 44: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/44.jpg)
Components
Open Location Applications
![Page 45: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/45.jpg)
Datasource
Open Location Applications
![Page 46: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/46.jpg)
Vector Tiles
Open Location Applications
![Page 47: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/47.jpg)
Renderer
Open Location Applications
![Page 48: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/48.jpg)
Location Services
Open Location Applications
GPS, WiFi, Network, Sensors, BLE
![Page 49: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/49.jpg)
Geocoder
Open Location Applications
![Page 50: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/50.jpg)
Search Engine
Open Location Applications
![Page 51: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/51.jpg)
Route Engine
Open Location Applications
![Page 52: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/52.jpg)
OpenStreetMap (OSM)
![Page 53: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/53.jpg)
⇢ Crowdsourced Data
⬝ Local knowledge
⬝ Community driven
⇢ Public Data
⬝ 2007 TIGER import
⬝ Manual import process
⇢ Open Data Commons Open Database License (ODbL)
⬝ Attribution
⬝ Share-Alike
⬝ Keep Open
OpenStreetMap (OSM)
![Page 54: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/54.jpg)
![Page 55: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/55.jpg)
osmdroid
![Page 56: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/56.jpg)
2008
osmdroid
![Page 57: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/57.jpg)
Based on Google Maps API v1
osmdroid
![Page 58: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/58.jpg)
Support for online and offline tile source
osmdroid
![Page 59: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/59.jpg)
Icons, tracking, and shapes
osmdroid
![Page 60: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/60.jpg)
![Page 61: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/61.jpg)
Mapbox
![Page 62: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/62.jpg)
Fork of osmdroid
Mapbox
![Page 63: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/63.jpg)
Easy integration with Mapbox tile server
Mapbox
![Page 64: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/64.jpg)
<com.mapbox.mapboxsdk.views.MapView
android:id="@+id/mapview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
mapbox:mapid="Your Mapbox mapid" />
Mapbox
![Page 65: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/65.jpg)
MapView mapView = new MapView(this, "Your Mapbox mapid");
this.setContentView(mapView);
Mapbox
![Page 66: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/66.jpg)
(Alternate tile servers also supported)
Mapbox
![Page 67: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/67.jpg)
Custom styles & satellite imagery
Mapbox
![Page 68: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/68.jpg)
![Page 69: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/69.jpg)
OpenScienceMap
![Page 70: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/70.jpg)
Universität Bremen
OpenScienceMap
![Page 71: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/71.jpg)
“OpenScienceMap provides free and open maps for Android with the fastest and 100% pure vector maps around.”
OpenScienceMap
![Page 72: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/72.jpg)
<org.oscim.android.MapView
android:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="match_parent" />
OpenScienceMap
![Page 73: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/73.jpg)
public class MyActivity extends MapActivity {
...
public Map getMap() {
return super.map();
}
}
OpenScienceMap
![Page 74: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/74.jpg)
@Override public void onCreate(Bundle icicle) {
super.onCreate(icicle);
UrlTileSource tileSource = new OSciMap4TileSource("http://vector.example.com/all");
VectorTileLayer baseLayer = getMap().setBaseMap(tileSource);
getMap().layers().add(new BuildingLayer(getMap(), baseLayer));
getMap().layers().add(new PoiLayer(getMap(), baseLayer));
getMap().layers().add(new LabelLayer(getMap(), baseLayer));
baseLayer.setRenderTheme(ThemeLoader.load(
AssetAdapter.g.openFileAsStream("styles/map.xml)")));
}
OpenScienceMap
![Page 75: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/75.jpg)
![Page 76: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/76.jpg)
Pelias
![Page 77: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/77.jpg)
modular open-source geocoder
Pelias
![Page 78: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/78.jpg)
ElasticSearch
Pelias
![Page 79: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/79.jpg)
OSMGeoanmes
Quattroshapes
Pelias
![Page 80: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/80.jpg)
Pelias Android SDK
Pelias
![Page 81: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/81.jpg)
Pelias.getPelias().suggest("Empire State Build", Callback<Result>);
Pelias.getPelias().search("Empire State Building", "x1,y1,x2,y2", Callback<Result>);
Pelias
![Page 82: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/82.jpg)
{ "type": "FeatureCollection",
"features": [{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [ -73.98597, 40.74871 ]},
"properties": {
"text": "Empire State Building, New York County, New York",
"score": 1,
"type": "geoname",
"id": "5116597"
}
}, ...
}
Pelias
![Page 83: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/83.jpg)
On the Road
![Page 84: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/84.jpg)
Routing and Navigation
On the Road
![Page 85: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/85.jpg)
OSRM
On the Road
![Page 86: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/86.jpg)
Router.getRouter().setEndpoint("http://osrm.example.com")
.setDriving()
.setLocation(new double[]{lat, lng})
.setLocation(new double[]{lat, lng})
.setCallback(new Callback() {
@Override
public void success(Route route) {
// do stuff
}
@Override
public void failure(int statusCode) {
// do stuff
}
}).fetch();
On the Road
![Page 87: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/87.jpg)
Features
⇢ Navigation
⇢ Snap to location
⇢ Calculate distances
⇢ Reroute
On the Road
![Page 88: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/88.jpg)
Location Open Source Tracker(LOST)
![Page 89: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/89.jpg)
Drop-in replacement forFusedLocationProvider
LOST
![Page 90: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/90.jpg)
talks directly to LocationManager
LOST
![Page 91: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/91.jpg)
GPSWi-Fi
Cell Network
LOST
![Page 92: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/92.jpg)
FrequencyAccuracy
Battery Life
LOST
![Page 93: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/93.jpg)
Replay GPX trace file
LOST
![Page 94: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/94.jpg)
LocationClient locationClient = new LocationClient(context,
new LocationClient.ConnectionCallbacks() {
@Override public void onConnected(Bundle bundle) {
onLocationClientConnected();
}
@Override public void onDisconnected() {
onLocationClientDisconnected();
}
});
LOST
![Page 95: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/95.jpg)
private void onLocationClientConnected() {
Location lastLocation = locationClient.getLastLocation();
if (lastLocation != null) {
// do stuff
}
LocationRequest locationRequest = LocationRequest.create();
locationRequest.setInterval(5000);
locationClient.requestLocationUpdates(locationRequest,
new LocationListener() {
@Override public void onLocationChanged(Location location) {
// do more stuff
}
});
}
LOST
![Page 96: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/96.jpg)
Speakerbox
![Page 97: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/97.jpg)
Features
⇢ Text-to-Speech
⇢ Initialization/Shutdown
⇢ Mute/Unmute
⇢ Remix!
Speakerbox
![Page 98: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/98.jpg)
![Page 99: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/99.jpg)
Open by Mapzen
Pelias Android SDK On the Road LOSTOpenScienceMap
VTM Speakerbox
TTSLocationManagerOSRMPelias
MapzenVector Tile
ServiceOpenGL ES
![Page 100: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/100.jpg)
![Page 101: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/101.jpg)
![Page 102: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/102.jpg)
![Page 103: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/103.jpg)
start where you are
![Page 104: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/104.jpg)
![Page 105: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/105.jpg)
![Page 106: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/106.jpg)
![Page 108: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/108.jpg)
Break.
![Page 109: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/109.jpg)
osmdroidExercise #1
![Page 110: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/110.jpg)
OpenScienceMapExercise #2
![Page 111: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/111.jpg)
Break.
![Page 112: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/112.jpg)
OpenScienceMap + LOSTExercise #3
![Page 113: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/113.jpg)
OpenScienceMap + LOST + PeliasExercise #4
![Page 114: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/114.jpg)
OpenScienceMap + LOST + Pelias + On the RoadExercise #5
![Page 115: Building Location-Aware Apps using Open Source (AnDevCon SF 2014)](https://reader033.fdocuments.in/reader033/viewer/2022042607/55a2b9821a28ab8d548b45ee/html5/thumbnails/115.jpg)
thanksChuck Greb | @ecgreb
github.com/mapzen