我想做一个跑步应用程序,跟踪用户的位置、速度和跑步距离。目前,我正在使用谷歌定位服务API获取GPS数据,因为谷歌在官方网站上推荐它。
但问题是,我只能每10秒更新一次位置,如果只是在地图上绘制位置,这是可以的,但我想计算用户当前速度(公里/小时)、当前速度(分钟/米),并计算他跑一圈(1公里或1英里)的确切时间。问题是,如果我每10秒收到一次更新,我无法准确计算这些参数。例如,更新是在用户996m时进行的,4m他会跑一圈。但是下一次更新将在10秒内不可用,所以它会在例如1010m时出现。这不是用户想要的...
如何解决这个问题?你怎么认为?
我在这里使用确切的代码形式。
位置请求如下所示:
LocationRequest mLocationRequest = new LocationRequest();
mLocationRequest.setInterval(10000);
mLocationRequest.setFastestInterval(5000);
mLocationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
来自文档:
priority\u HIGH\u ACCURACY的优先级,加上您在应用程序清单中定义的ACCESS\u FINE\u LOCATION权限设置,以及5000毫秒(5秒)的快速更新间隔,使融合的位置提供程序返回精确到几英尺以内的位置更新。这种方法适用于映射实时显示位置的应用程序。
但这还不够。尽管我把时间间隔改小了,但它总是10秒。
使用此代码,它可以每3秒钟发送一次位置更新。
LocationListener listener = new LocationListener() {
@Override
public void onLocationChanged(final Location location) {
//This will be called when location is changed
}
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
}
@Override
public void onProviderEnabled(String provider) {
}
@Override
public void onProviderDisabled(String provider) {
Intent i = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(i);
}
};
locationManager = (LocationManager) getApplicationContext().getSystemService(Context.LOCATION_SERVICE);
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
}
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 3000, 0, listener);
Github上此代码的更多详细信息。
所以我让全球定位系统从我“按下播放”开始持续跟踪和记录我的位置。我想显示所行驶的距离、平均速度、所花费时间的上升和下降。 我正在用我的“LocationsService.java”类记录我的位置,这个类使用startLocationService(),它通过LocationCallback循环(我想)。我使用从@TDIScott获得的代码创建了一个hashmap,并将其放入列表中。 更新问题:如何
问题内容: 我的桌子有经度和纬度 所以我想要的是我要从页面传递两个经度和纬度。如何使用存储过程查找最近的地方?我没有太多帮助,所以我必须在这里询问 尝试过使用这个 但是我必须将其与表值进行匹配,所以我该如何实现呢? 问题答案: 您可以在SQL中使用与上面显示的查询类似的查询,其中和是要搜索的变量值。该和是从你的表的列名。顺便说一句,这称为Haversine公式,该常数用于获取以KM为单位的距离,而
我正在Xamarin中实现一个android应用程序。Android平台,该应用程序用于跟踪他旅行的距离和路线。通过使用低版本和高版本的android OS的后台定位服务和前台定位服务。 当用户关闭应用程序时,我的前台服务停止,无法跟踪距离和路线,我在更高版本的Android设备(8.0操作系统版本以上)中面临这个问题。它给了我只有起点和终点的距离与Arial路线。 请给我任何其他方法来解决我的问
我正在为中国开发一个需要GPS位置跟踪的android应用程序。对于位置跟踪,android需要访问Google play服务。但Google play服务在中国被屏蔽。 这个问题有解决办法吗?有没有推荐的第三方库或实现? 谢谢
问题内容: 如果对http请求的响应是带有cookie的重定向(http代码302), 您如何指示Go客户使用收到的Cookie跟踪新位置? 在CURL中,可以通过以下方式轻松设置客户端: 您如何在Go中做到这一点? 问题答案: 使用Go 1.1,您可以使用。 这是一个工作示例:
问题内容: 继一些在线调查(1,2,numpy的,SciPy的,scikit,数学),我已经找到了计算的几种方法 在Python欧氏距离 : 我想知道是否有人可以就 效率* 和 精度 方面认为上述哪一项( 或我未找到的其他任何 理由)提供最佳见解。如果有人知道任何的 资源(S) ,其中讨论的主题,这也将是巨大的。 *** __ 的 背景下 ,我在有趣的是,在计算对数元组之间的欧氏距离,例如之间的距