Blackberry GPS Criteria - blackberry

I am developing an app for BB having GPS capability. But the problem is the GPS criteria varies as per the carriers and Devices. So does any one knows the different set criteria which can be used? I tried to use the different links BB support forums but I not getting any assured way which should work for every case. Thanks in Advance..
Thanks;
nil

EDIT: Sorry Just noticed your question was regarding Criteria by carrier... So this isn't exactly the answer.
I'm no expert on Blackberry GPS criteria and my answer is based on using it a few times Ive used it.
In my experience the GPS criteria is based on set of requirements(accuracy, power consumption, cost), and you feed these into the criteria object. For example here is some code I got off the internet.
/**
* assisted: Use this mode to get location information from satellites using a PDE. This mode allows a BlackBerry device
* application to retrieve location information faster than the autonomous mode and more accurately than the cell site mode.
* To use this mode requires wireless network coverage, and the BlackBerry device and the wireless service provider must
* support this mode.
*/
private Criteria getAssistedCriteria(int powerConsumption) {
Criteria criteria = new Criteria();
criteria.setHorizontalAccuracy(100);
criteria.setVerticalAccuracy(100);
criteria.setCostAllowed(true);
criteria.setPreferredPowerConsumption(powerConsumption);
return criteria;
}
/**
* autonomous: Use this mode to get location information from the GPS receiver on the BlackBerry device without assistance
* from the wireless network. This mode allows a BlackBerry device application to retrieve location information that has highaccuracy,
* and does not require assistance from the wireless network. However, the speed at which this mode retrieves
* location information is slower than the other modes.
*/
private Criteria getAutonomousPosCriteria() {
Criteria criteria = new Criteria();
criteria.setCostAllowed(false);
return criteria;
}
/**
* cell site: Use this mode to get location information from cell site towers. This mode allows a BlackBerry device application
* retrieve location information faster than the assisted and autonomous modes. However, the accuracy of the location
* information is low-level and does not provide tracking information such as speed or route information. Using this mode
* requires wireless network coverage and that both the BlackBerry device and the wireless service provider support this mode.
*/
private Criteria getCellSiteCriteria() {
Criteria criteria = new Criteria();
criteria.setHorizontalAccuracy(Criteria.NO_REQUIREMENT);
criteria.setVerticalAccuracy(Criteria.NO_REQUIREMENT);
criteria.setCostAllowed(true);
criteria.setPreferredPowerConsumption(Criteria.POWER_USAGE_LOW);
return criteria;
}
The full File is located at: http://blackberry.svn.wordpress.org/trunk/src/com/wordpress/location/Gps.java
Have a look at the tables in this JavaDoc: http://www.blackberry.com/developers/docs/6.0.0api/javax/microedition/location/Criteria.html

Related

Looking for GPS device with on-board RTK that is easy to interface to from an iOS App

I've been researching a possible iOS-based app, developed in Unity, that would require a high-degree of positional accuracy (centimeters).
I expect I would need to connect, from the app, to an external GPS device using Bluetooth (or similar) and obtain NMEA sentences (or similar) containing location data.
My research has brought me to RTK, which is extremely accurate. From what I've seen already, it seems that normally GPS receivers which offer this operate themselves at normal GPS precision (2-2.5m). The correction to a high-accuracy location happens in software on a connected computer or tablet with a connection to an NTRIP server.
Assuming what I've said is correct, does anyone know of a GPS device that performs this RTK correction on the GPS device itself? Ideally I could just connect with Bluetooth or similar and get NMEA (or equivalent) data with high-accuracy location.
It may also be that I'm thinking about this incorrectly. On iOS, assuming there is an 3rd party app performing the RTK calculations, is there a standard way to obtain that high-accuracy location? Alternatively, are there GPS vendors that supply SDKs that would allow me to get to where I need to go?
Thanks very much,
Kieran
There is a recent module from U-Blox named ZED-F9P which has internal processing and is faster then RTKLib. Check this blog for performance
You can buy a board like ArduSimple's simpleRTK2B with an XBee module for WiFi/Blutooth or something similar from Sparkfun. You could also wait for the development board from U-Blox which is not yet available.

How to determine location source in iOS

I'm getting current location,
In my app I want to know my location is from GPS or WIFI or cellular data. How do I check that ?
Is there any way to determine location source ?
Apple iOS uses
Assisted Global Positioning System (A-GPS)
Crowdsourced Wi-Fi
Cellular network search
to determine your location:
These three stages are used in descending order of priority. In other words, iOS first attempts to fix your location by using a GPS satellite link. If it is unable to acquire a satellite, iOS fails over to Wi-Fi. If you are not connected to a Wi-Fi local area network (WLAN), then iOS uses cell tower data
Apple uses all the non-GPS systems simultaneously with GPS, as part of A-GPS. To say it's falling back is not really an accurate description. Rather, while trying to get a GPS lock, it will use the other systems to get a rough idea of your location. Only if no GPS lock can be obtained, will the phone simply report what it knows from the other sources.
CoreLocation does not provide its source (or sources), but you can use some heuristics to guess.
Check the accuracy reported with location updates. A large range (e.g. 500+ meters) would indicate it's not a GPS fix.
Check which radios are available. If there's no cellular radio in the device, fixes must come from Wifi.
Check if the cellular radio is active. The device does not need service with available providers to use towers for a fix. Don't filter on that.
Those are my best guesses. If you really want this feature, you'll have to experiment.

How to get Roku's device geolocation?

I need to deliver content with geolocation restrictions, so I need to know exactly what's the physical location of device.
Accordingly to Documentation there is two methods GetCurrentLocale() and
GetCountryCode(), however documentation relays on none of this methods can actually be used to get physical location..
GetCurrentLocale - Returns a string representing the current locale based on the user's language setting ...
GetCountryCode - This does not necessarily match the physical location of the device ...
So my question here is if it's safe to use any of these methods in order to apply geolocation restrictions?
No, you cannot know "exactly what's the physical location" of a Roku. It has no GPS, nor does it do location approximation based on WiFi SSIDs (that would be a privacy no-no).
The APIs you found return codes based on the player setup and are not reliable, since i can reset my player and change the country during new setup. What video services do instead is do geolocation by IP address, there are multiple external services that will help.

Only allow check-in if certain Wifi Network is detected

So i'm working on an iOS application that was going to use GPS location data to determine if a user was within a certain radius of a building and allow them to check-in.. I know setting up geo fences is fairly easy...
however
Is it possible to only allow users to checkin once a wireless signal for a particular Wifi network is detected instead? I would like to do this because we are in a building that doesn’t get GPS reception and only gets triangulation from the cell towers – this is going to lead to quite a wide radius...
Any thoughts?
You could solve your case with checking SSID of the Wifi the user is currently connected to.
if (SSID_of_currently_connected_wifi == SSID_value_for_building_wifi)
{
//user can check-in.
}
You can get SSID of currently connected Wifi with SystemConfiguration framework. See: https://stackoverflow.com/a/5198968/1677480.
You cannot get a list of available/detected Wifi network without private API's. See: https://stackoverflow.com/a/9684945/1677480.
If you will choose "GPS location" solution you can help yourself with my answer (based on distance between 2 GPS locations) here: https://stackoverflow.com/a/22036318/1677480.

Location based application for smartphones with no GPS chip

Is it possible to develop location (longitude, latitude) based application for Blackberry smartphones with no internal GPS chip?
Yes you can get location information.
There are three different modes that you can use to get location.
-> cell site: Use this mode to obtain location information from cell site towers.
-> assisted: Use this mode to get location information from satellites using a PDE.
-> autonomous: Use this mode to get location information from the GPS receiver on the BlackBerry device without assistance from the wireless network.
You can use cell site or assisted mode to get location.
You can find more information at http://docs.blackberry.com/en/developers/deliverables/644/GPS_and_BlackBerry_Maps_Development_Guide.pdf
Jim.
Yes, it is possible. Devices can determine their position based on known locations of cell towers and/or WiFi hotspots that are in range. It's usually not as precise as GPS, but it can still be serviceable.
Skyhook Wireless is one of the major providers:
http://en.wikipedia.org/wiki/Skyhook_Wireless
http://www.skyhookwireless.com/

Resources