是否有可能通过“GPS”在改变其像3-4英尺的非常短距离的位置后获得用户的精确纬度和经度。通过GPS在Android上查找当前位置
其实我已经在android中创建了一个应用程序,它给了我一个用户的经度和纬度,但它改变了它在用户的同一个点或位置上的值。
请帮我解决这个问题。 在此先感谢。
是否有可能通过“GPS”在改变其像3-4英尺的非常短距离的位置后获得用户的精确纬度和经度。通过GPS在Android上查找当前位置
其实我已经在android中创建了一个应用程序,它给了我一个用户的经度和纬度,但它改变了它在用户的同一个点或位置上的值。
请帮我解决这个问题。 在此先感谢。
我的经验说,这取决于手机/设备使用的是,如果你的设备支持AGPS然后让GPS坐标会更容易和快速(没有相关的您编码技巧,因为您将使用android SDK)。普通的GPS也会返回准确的数据,尝试从谷歌播放下载Savaari应用程序,它的作用就像魅力,你的第二个问题是可以在特定的时间或距离间隔后获得坐标,当你注册你的列表程序时,你必须提供时间和距离(以米为单位)之后,您想要接收GPS值。
看看这个片断: -
public void startReadingGPS(int readAfterMinimumTime, int readAfterMinimumDistance){
locationManager = (LocationManager)mContext.getSystemService(Context.LOCATION_SERVICE);
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, readAfterMinimumTime, readAfterMinimumDistance, this);
}
公共无效requestLocationUpdates使用指定供应商(字符串提供商,长minTime,浮minDistance才会,LocationListener的侦听器) 在API级别1 注册位置更新,并待决意图。
有关如何使用此方法的更多详细信息,请参阅requestLocationUpdates(long,float,Criteria,PendingIntent)。
参数 提供商的提供商与的名称登记位置更新之间 minTime最小时间间隔,以毫秒为单位的位置更新之间 minDistance才会最小距离,以米为单位 听者LocationListener的其onLocationChanged(位置)方法将被称为为每个位置更新
欣赏您的答案,但我的另一个问题是,我将永远不会改变位置,但GPS将不断改变经纬度。请建议如何将它稳定在同一位置。 – AKber
在你的位置监听器中添加8到10米的变化实际上在Android GPS的情况下它的准确度约为8米,这意味着即使你将手机放在一个地方,它仍然会改变坐标我的拍摄将会增加10米后的GPS读数, 祝一切顺利 ! –
,你应该在你的活动实施LocationListener的
private static final long MIN_DISTANCE_CHANGE_FOR_UPDATES = 10; // 10 meters
// The minimum time between updates in milliseconds
private static final long MIN_TIME_BW_UPDATES = 1000 * 60 * 1; // 1 minute
boolean isGPSEnabled = false;
LocationManager locationManager = (LocationManager) yourapplicationcontext
.getSystemService(LOCATION_SERVICE);
// getting GPS status
isGPSEnabled = locationManager
.isProviderEnabled(LocationManager.GPS_PROVIDER);
if (isGPSEnabled) {
if (location == null) {
locationManager.requestLocationUpdates(
LocationManager.GPS_PROVIDER,
MIN_TIME_BW_UPDATES,
MIN_DISTANCE_CHANGE_FOR_UPDATES, this);
Log.d("GPS Enabled", "GPS Enabled");
if (locationManager != null) {
location = locationManager
.getLastKnownLocation(LocationManager.GPS_PROVIDER);
if (location != null) {
latitude = location.getLatitude();
longitude = location.getLongitude();
}
}
}
}
//Add this permission
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.INTERNET" />
请参阅[here](http://www.androidhive.info/2012/07/android-gps-location-manager-tutorial/) –