Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
Speaker : Alexey Zinoviev
Android Geo Apps: In Soviet Russia latitude and longitude find you
About
● I am a scientist. The area of my interests includes machine learning, traffic jams prediction, BigData algorythms.
● But I'm a programmer, so I'm interested in NoSQL databases, Java, Android, Hadoop, Spark.
● I am a fan of variety GEO API (Maps API for example)
Introduction
Some maps are extremely old
Some maps are inaccurate
Some maps are used in games
And, of course, some maps are realistic
● Geo applications are a specific
type
● Maps are optional
● Geo content in your app
● There’s a mobile aspect
Geo apps
Revenue
Localizing Content
Managing Digital Rights
● Popular commercial sites pay for
usage
● Limits
● Google Maps for business
● AdMob integration
● Time in app
Google’s profit
● Media content with geolabel
● Places, addresses, organizations
● Wiki
● Type of activity
● Individual tracking
● Purchases
Data
Analyze it!
Targeting Advertising
Data sources
● Cell of Origin : finds location by
CellID
● Time of Arrival (TOA)
● Observed Time Difference (OTD)
● A-GPS : starts from base stations
LBS (Location Based Services)
● GPS guzzles battery power
● GPS is often inaccurate
● People active in more than 10
times
Why LBS?
Geo Technologies
● Latitude & longitude
● Latitude is y, longitude is x
● But it looks like this: (y, x)
● To indicate the cities, regions and
countries you need diffirent
coordinate precision
● Spherical geometry
Latitude and longitude
Mercator Projection
Maps
The Maps Family Let's map everything on the map
● Convenient controls (zoom)
● Geocoding
● Routing
● Layers
● Gestures
● Showing traffic jams and public
transport (optional)
Opportunities of Respectable API
● v2 with 3D rendering
● Gesture control
● Best support and documentation
● Heatmap & clustering
● Simple integration with location API
● Best demos
Google Maps
● Heatmaps
● Marker’s icon customizing
● Clusterization
● Customizing of marker clusters
● Calculating distances and areas
(spherical geomatry)
Android API Utility Library
● Template project in Android Studio
● Obtaining API key in Google Developer Console
● Changing Manifest and Gradle build script
● Playing with examples
● Debugging on the real device
● Updating GooglePlay services on the virtual devices
How to attach Google Maps?
● This SDK was designed to work with
Android 2.x devices
● Best photos from space
● Excellent coverage in the U.S.
● Supports geocoding, reverse
geocoding, and routing
Bing Maps SDK
● Excellent coverage in Russia
● More attractive on iOS
● No direct geocoding
● Development was stopped
● No special limits
● 25,000 geocoding requests per day
Yandex Map Kit
● Data from OpenStreetMaps
● Best coverage in the world
● Development by community
● No routing & traffic jams
● Tiles from MapQuest + OpenLayers
● Fork & control code :)
● Offline maps via MobileAtlasCreator
OsmDroid
● Add osmdroid libraries to CLASSPATH
● Include slf4j-android logging library
● Add a MapView to your xml layout
● Add permissions to manifest
● If it is required, create a tile provider chain
● If it doesn’t work, copy simple example
How to build OSM app?
● Modern JS API and ancient Android
API (waiting new Android SDK)
● Geocoding, routing, traffic plugins for
Leaflet (JS Library)
● Simple features without key and
advanced features by API key
MapQuest
● OsmDroid fork
● Free for 50k views in month
● GeoJSON and TileJSON support added
● Data objects like points and lines use doubles instead of the
E6 int convention
● Small separate modules for different tasks
● See github
MapBox
●
Home OSM server
Home OSM server
● PostrgreSQL/PostGIS
● osm2pgsql
● Mapnik (rendering of OSM data)
● Ruby magic
● Grab OSM data (planet dump)
● Quick ref here
Home OSM server
Waiting for signal ...
If you developing a project for...
● a U.S. company - Bing Maps● a transnational company - Google Maps● a Russian company, or one in in the former U.S.S.R. -
YandexMapKit● OpenSource with special tiles - MapQuest + OpenLayers● OpenSource with its own data - OsmDroid● Tuning OpenSource and paid API - MapBox● … just to play - NokiaMaps
Popular Cases
Checking in
Local trade
Next generation of games
Local deals and offers
Publishing and distributing content
Journalism
Your Country Needs You!
● Know your cases and data!
● Choose right SDK!
● Don’t overlocalize!
● Steps to real life
GDG Saint Petersburg Android & Cloud
● Cloud Backend + Mobile
● Android Wear, Smart TV
● Atypical model of
participation
● ВК, G+
Your Questions?