我使用下面的代码来获取经度和纬度。总是依赖网络服务提供商很好吗?从网络读取经度和纬度
public static String getLatitudeLongitudeString() {
LocationManager lm = (LocationManager) GlobalApplication
.getAppContext().getSystemService(Context.LOCATION_SERVICE);
Location location = lm
.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
if (location == null) {
return "";
} else {
Geocoder geocoder = new Geocoder(GlobalApplication.getAppContext());
try {
List<Address> user = geocoder.getFromLocation(
location.getLatitude(), location.getLongitude(), 1);
double lat = (double) user.get(0).getLatitude();
double lng = (double) user.get(0).getLongitude();
return lat + "," + lng;
} catch (Exception e) {
Trace.e("Failed to get latitude and longitude", e);
return "";
}
}
}
文章真的很有见地。 – ssk 2012-07-21 22:08:17
很高兴我能帮忙:) – 2012-07-22 18:28:23