Comments (12)
OneBusAway's share of 2.1 uses is actually even smaller than that, 1.55%. So I have no problem with dropping support for it.
The other issue is potentially also supporting Kindle, which is something that Amazon would like me to do. It would be "relatively" easy to support it because Amazon's maps library is API compatible with the v1 Google Maps library, but I don't know how easy it would be for the v2 library.
That's another item to research, how far we want to support Android Maps V2, and how much work we want to do to support multiple maps libraries.
from onebusaway-android.
I've updated from Android Maps API v1 to v2 in one of my own apps, and the API is completely different. I essentially rewrote the parts that interacted with the map. That being said, I was able to accomplish what I originally implemented in v1 with far less code in v2, plus add other cool new features. So, if we want to support Amazon Maps API , we should plan on using the existing Android Maps API v1 implementation in OBA Android as a base to do this. Once we upgrade to v2, it will be harder to move to Amazon Maps API.
We do have a fairly clean abstraction of the map via the MapModeController, which should help in transition to v2.
The only other logical Maps API that we may want to support that comes to mind is the BlackBerry platform, since the Android Maps API isn't available on Blackberry devices. Looks like Android runtime support on BlackBerry doesn't include native Java APIs for Maps though, and we'd have to settle for throwing the user out to the web browser via Intents and URL parameters:
http://developer.blackberry.com/android/apisupport/apisupport_mapping_support.html
Doesn't seems like OBA on Blackberry would be easy to support without a significant overhaul to the OBA application.
[Edit 6-14-2013]
One additional use case for a different Maps API is for Android users with custom ROMs that may or may not have the gapps suite installed. Users of these devices may choose to replace the Google Play store with a non-Google market option such as F-Droid (see #60) or Opera Mobile Store. To completely remove the dependency of OneBusAway Android on the gapps suite we would need to replace the Google Maps API v1 with OSMDroid or something similar. OSMDroid, like Amazon Maps API, has 1-to-1 parity with Google Maps API v1, and therefore any modified version of OBA Android for OSMDroid should be also be based on the Google Maps API v1 code.
from onebusaway-android.
@paulcwatts Could you grab an Android Maps API v2 key, and whitelist it via Google APIs console for both the OBA Android debug and release cert fingerprints? Instructions for this process are here:
https://developers.google.com/maps/documentation/android/start#the_google_maps_api_key
from onebusaway-android.
I'd like to mention that I'm affected by the scenario mentioned in barbeu's comment as of the 6/14 edit. I'm currently using android without any google apps installed (relying on f-droid and APKs from the web). It would be great to have this app be functional on my device again. In the meantime though, I'm using the website and it gets the job done.
from onebusaway-android.
On the issue of Maps API v2 and ABS - they do work together, and I've been able to use them together in my GPSTest app (inside a tab). We've also used the normal support library (not ABS though) with Maps API v2 in OpenTripPlanner for Android. Hopefully between code from these two projects we'll be able get it working smoothly in OBA Android at some point.
from onebusaway-android.
On the issue of redrawing stop icons based on map bearing - On Friday (Sept 20th) Google released an update to Maps API v2 that supports new marker rotation
and flat
properties.
Here's Google description of the new features:
Give your markers a sense of direction
Weโve added a marker rotation property, to allow you to rotate a marker around itโs anchor point. The new flat property allows you make the marker lie flat on the map surface, rather than popping out to face the camera. These two new properties are especially useful for indicating compass directions when the map is rotated or tilted.
From this, its sounds like we could either have the arrow indicator appear on top of the stop icon (i.e., billboard
as it is today), or we could have it drawn flat
on the map itself (i.e., perpendicular to the bus stop icon). Either way, these new properties should make it much easier to implement the direction arrow with the bus stop icon.
Full article on the Map API v2 updates is here.
from onebusaway-android.
Gradle config for Maps API v2 - http://stackoverflow.com/a/17243377/937715
from onebusaway-android.
A heads up that I'm currently working on this.
from onebusaway-android.
Just opened a WIP PR here, complete with an APK download, if anyone wants to try out an initial implementation of this.
from onebusaway-android.
As an FYI to anyone who stumbles on this ticket and it planning on launching a forked version of the OBA Android app from the current master branch - you actually won't be able to launch a forked version of OBA Android based on the current master branch that uses Maps API v1, since Google is no longer handing out Maps API v1 keys (which you'll need when signing the app with your own production certificate for distribution via Google Play). When this ticket is closed, it means that the Maps API v2 update (which I've been working on as part of the UI-redesign (#155)) has been merged to the master branch. At this point, you'd be able to get new API keys for Maps API v2. I would, however, encourage you to join our effort on being able to re-branding the app without forking the project (#172), instead of forking the project.
from onebusaway-android.
This is complete as part of the work in #177, and will be closed when that branch is merged to master.
from onebusaway-android.
Now that we have a develop branch, I'm going to close a few issues (like this one) that are fixed in that branch, to help reduce clutter and avoid someone accidentally working on something that's already been fixed.
from onebusaway-android.
Related Issues (20)
- refactor: Refactor Conditional Logic
- Hard to Distinguish Between Different Routes in Trip Planner
- [GSoC] Studies and Surveys Feature
- Visibility Issue: Button text color should contrast with the background
- Add a custom region by simply tapping on a URL HOT 1
- User Reported Bug: Plan Trip Time Picker looks broken in dark mode HOT 1
- User reported bug: "Updating your reminders" notification pops up from time to time HOT 1
- System Settings:
- Crash in weather feature HOT 3
- remove broken feature
- Crash `android.content.res.Resources$NotFoundException` in setWeatherImage()
- Donation Overlay close button is missing with larger font sizes HOT 2
- App dependencies need to be updated HOT 2
- Missing Finnish Translation
- Issue weather view is being visible on starred routes/stops
- [BUG] Backup Storage Functionality Broken on Android 13 and Above - Storage Permissions HOT 2
- Make analytics much more useful to transit agencies HOT 1
- Add Option To Show / Hide Weather View
- Allow users to disable 3D map experience when they zoom in
- Warning icon overlaps with long route name HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from onebusaway-android.