iam*_*ind 22 gps android geolocation android-location
我在这个主题上提到了很多问题,但似乎缺少一些我的要求:
~0.0001
准确地获得GPS位置有没有什么办法让刚刚的坐标与上述要求?任何示例代码段都将非常感谢.
检查各种应用程序,例如"找我","Maverick",声称显示离线位置.但在没有互联网的各种情况下,他们不会跟踪位置(在印度).
我在SO内外提到了很多旧/新问题.以下几点:
[注意:我代表我的Android团队提出这个问题,如果被要求,我们很乐意澄清细节.如果你觉得这篇文章属于Android.Stackexchange,那么请移动它.]
Chr*_*ian 11
我希望GPS位置精确到0.0001
您只能收听GPS提供商,并在没有您想要的最小准确度时丢弃该位置:
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 5, myLocationListener); // "myLocationListener" must be an object from a class that implements LocationListener
// "myLocationListener" implementation of LocationListener.onLocationChanged
public void onLocationChanged(Location location)
{
int MIN_ACCURACY = 5; // in metters
if ((!location.hasAccuracy()) || (location.getAccuracy() > MIN_ACCURACY))
{
// discard this location and keep listening to new location readings
}
else
{
// that's a good reading!
// do somethings you want... blah, blah, blah...
// stop updates when you get the location to preserve users' battery.
locationManager.removeUpdates(myLocationListener);
}
}
Run Code Online (Sandbox Code Playgroud)
2.不想使用互联网; 虽然GSM/CDMA网络还可以
是的,GPS完全脱机工作.Android可以仅使用互联网来更新A-GPS数据缓存,并提供更快的冷启动更新读取.
3.应该在应用程序启动时以编程方式获取
然后locationManager.requestLocationUpdates
在mainActivity的onCreate事件上调用item .
4.应该更快,比如说在一分钟之内(比如iPhone,它可能也适用于飞行模式!)
请记住,iPhone使用"高品质硬件".Android可以在糟糕的设备上运行.所以它取决于:
5.代码应该适用于大多数设备
您希望它运行的最古老的Android API是什么?
6.手机可随时开启/关闭并随时移动
我没理解.你对此有何关注?
更新1:
"......我想使用Android 4.0及更高版本..."
我测试了从Android 2.3到5.0设备的GPS功能.所有这些都运行得很好.
"......我观察到1个基于地理坐标的演示应用程序在其他设备上运行,但在我的LGG3和Android 5.0中无法正常工作.有什么想法吗?......"
你在Android设置上检查GPS权限了吗?(也许它已被禁用)或者可能是硬件问题?你尝试过其他类似的设备吗?
"...假设GPS在纽约显示正确的位置,我关闭手机然后在到达伦敦后打开,那么它仍会显示正确的位置(没有互联网)?..."
听起来令人困惑:阅读GPS位置是一回事.将该位置显示到MAP是另一回事!
您无需连接到互联网即可进行GPS位置读取.但是,如果你想在MAP中显示该位置,可能你需要互联网(加载地图资源等).
如果您需要定期继续收集GPS位置(比方说,从10到10分钟),那么最好使用AlarmManager来安排一个定时器,它将"指责"您的应用并说"嘿,时间进行GPS读取!".
"...您对最新的Fused API有什么看法?......"
我测试了它并使用了一段时间,但我放弃了.它需要安装Google Play服务才能正常工作(不是问题,大多数用户都在自己的设备上使用它).但如果你需要准确(就像我一样),它将无法正常工作.它使用"融合传感器"(加速度计,gps,wifi,指南针等)来尝试以最小的功率来获取用户位置.有时,它说你距离你真正的地方10英里.我无法让它保持用户所处的"路径".但它确实节省了电池.
小智 10
建议使用谷歌位置服务 它尽可能准确,准确地定位当前时刻.它自动(当然配置)也获得最佳的电流精度 - 无论有什么可用的GPS,网络,互联网,GSM/CDMA/LTE ...它也兑现了最后的已知位置所以,基本上,你每时每刻都知道 - 最好的是什么您可以.
当然,您必须意识到每项服务都提供了自己的准确性和自己的时间.例如,看看Android上的GPS测试应用程序,看看准确度如何随着时间和使用的卫星而增加.
此外,位置服务对您有好处,因为它只是提供坐标 - 就像您要求并隐藏大量工作以确定基于时间和准确性使用的真实服务.但是,当然,如果您的特定设备和位置上的任何服务都无法提供所需的准确性,那么就无法获得它.这就是服务也提供准确度测量的原因.
这是另一个链接
归档时间: |
|
查看次数: |
3666 次 |
最近记录: |