本文整理汇总了Java中android.location.Location.setExtras方法的典型用法代码示例。如果您正苦于以下问题:Java Location.setExtras方法的具体用法?Java Location.setExtras怎么用?Java Location.setExtras使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类android.location.Location
的用法示例。
在下文中一共展示了Location.setExtras方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: toSysLocation
import android.location.Location; //导入方法依赖的package包/类
public Location toSysLocation() {
Location location = new Location(LocationManager.GPS_PROVIDER);
location.setAccuracy(8f);
Bundle extraBundle = new Bundle();
location.setBearing(bearing);
Reflect.on(location).call("setIsFromMockProvider", false);
location.setLatitude(latitude);
location.setLongitude(longitude);
location.setSpeed(speed);
location.setTime(System.currentTimeMillis());
location.setExtras(extraBundle);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
location.setElapsedRealtimeNanos(277000000);
}
int svCount = VirtualGPSSatalines.get().getSvCount();
extraBundle.putInt("satellites", svCount);
extraBundle.putInt("satellitesvalue", svCount);
return location;
}
示例2: result
import android.location.Location; //导入方法依赖的package包/类
public Location result() {
if (count < 1)
return null;
final Location location = new Location(BackendService.LOCATION_PROVIDER);
location.setTime(timeMs);
if (Build.VERSION.SDK_INT >= 17)
location.setElapsedRealtimeNanos(SystemClock.elapsedRealtimeNanos());
location.setLatitude(meanLat);
location.setLongitude(meanLon);
if (count == 1) {
location.setAccuracy(reportAccuracy);
} else {
//double varLat = sLat / (wSumLat - 1);
//double varLon = sLon / (wSumLon - 1);
double varLat = sLat / (wSumLat - wSum2Lat / wSumLat);
double varLon = sLon / (wSumLon - wSum2Lon / wSumLon);
double sdLat = Math.sqrt(varLat);
double sdLon = Math.sqrt(varLon);
//Log.d(TAG, "result() sLat=" + sLat + ", wSumLat=" + wSumLat + ", wSum2Lat=" + wSum2Lat + ", varLat=" + varLat + ", sdLat=" + sdLat);
double sdMetersLat = sdLat * BackendService.DEG_TO_METER;
double cosLat = Math.max(BackendService.MIN_COS, Math.cos(Math.toRadians(meanLat)));
double sdMetersLon = sdLon * BackendService.DEG_TO_METER * cosLat;
float acc = (float) Math.max(sdMetersLat, sdMetersLon);
location.setAccuracy(acc);
}
Bundle extras = new Bundle();
extras.putLong("AVERAGED_OF", count);
location.setExtras(extras);
return location;
}
示例3: getLocation
import android.location.Location; //导入方法依赖的package包/类
public synchronized Location getLocation() {
Long timeMs = System.currentTimeMillis();
final Location location = new Location(BackendService.LOCATION_PROVIDER);
predict(timeMs);
location.setTime(timeMs);
if (Build.VERSION.SDK_INT >= 17)
location.setElapsedRealtimeNanos(SystemClock.elapsedRealtimeNanos());
location.setLatitude(mLatTracker.getPosition());
location.setLongitude(mLonTracker.getPosition());
if (mAltTracker != null)
location.setAltitude(mAltTracker.getPosition());
float accuracy = (float) (mLatTracker.getAccuracy() * BackendService.DEG_TO_METER);
if (accuracy < MIN_ACCURACY)
accuracy = MIN_ACCURACY;
location.setAccuracy(accuracy);
// Derive speed from degrees/ms in lat and lon
double latVeolocity = mLatTracker.getVelocity() * BackendService.DEG_TO_METER;
double lonVeolocity = mLonTracker.getVelocity() * BackendService.DEG_TO_METER *
Math.cos(Math.toRadians(location.getLatitude()));
float speed = (float) Math.sqrt((latVeolocity*latVeolocity)+(lonVeolocity*lonVeolocity));
location.setSpeed(speed);
// Compute bearing only if we are moving. Report old bearing
// if we are below our threshold for moving.
if (speed > MOVING_THRESHOLD) {
mBearing = (float) Math.toDegrees(Math.atan2(latVeolocity, lonVeolocity));
}
location.setBearing(mBearing);
Bundle extras = new Bundle();
extras.putLong("AVERAGED_OF", samples);
location.setExtras(extras);
return location;
}