Android开发模板------ 手机获取本地经纬度
2015-03-23 10:28
127 查看
参照网上代码获取经纬度,始终不能正确执行。
经过不停的调试,最后终于可以获取经纬度了,在此先记录下来。
配置文件
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION"/>
下面是通过高德方法获取经纬度:
private LocationManagerProxy mLocationManagerProxy;
<meta-data
android:name="com.amap.api.v2.apikey"
android:value="fe11c2c214e25629193d1adca84b1a38" />
需要到官方网站上申请value值
下面的方法有时候不能获取地理坐标:(HTC S720无法获取地理坐标)
经过不停的调试,最后终于可以获取经纬度了,在此先记录下来。
private double mLongitude; private double mLatitude; public String getLocation(Context context) { LocationManager locationManager = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE); Criteria criteria = new Criteria(); criteria.setAccuracy(Criteria.ACCURACY_FINE); criteria.setCostAllowed(true); criteria.setPowerRequirement(Criteria.POWER_HIGH); criteria.setSpeedRequired(true); criteria.setAltitudeRequired(true); String bestProvider = locationManager.getBestProvider(criteria, true); if (locationManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER)) { Location location = locationManager .getLastKnownLocation(bestProvider); if (location != null) { mLatitude = location.getLatitude(); mLongitude = location.getLongitude(); } else { locationManager.requestLocationUpdates( LocationManager.NETWORK_PROVIDER, 0, 0, new LocationListener() { @Override public void onStatusChanged(String provider, int status, Bundle extras) { } @Override public void onProviderEnabled(String provider) { } @Override public void onProviderDisabled(String provider) { } @Override public void onLocationChanged(Location location) { if (location != null ) { mLatitude = location.getLatitude(); mLongitude = location.getLongitude(); }else { mLatitude = 39.869411; mLongitude = 116.383337; } } }); } } return mLatitude+","+mLongitude;
配置文件
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION"/>
下面是通过高德方法获取经纬度:
private LocationManagerProxy mLocationManagerProxy;
mLocationManagerProxy = LocationManagerProxy.getInstance(v.getContext()); mLocationManagerProxy.setGpsEnable(false); mLocationManagerProxy.requestLocationData(LocationProviderProxy.AMapNetwork, -1, 1500, new AMapLocationListener() { @Override public void onStatusChanged(String provider, int status, Bundle extras) { } @Override public void onProviderEnabled(String provider) { } @Override public void onProviderDisabled(String provider) { } @Override public void onLocationChanged(Location location) { } @Override public void onLocationChanged(AMapLocation arg0) { if (arg0 != null && arg0.getAMapException() .getErrorCode() == 0) { Double geoLat = arg0.getLatitude(); Double geoLng = arg0.getLongitude(); // loadData(geoLat+","+geoLng); } } });
<meta-data
android:name="com.amap.api.v2.apikey"
android:value="fe11c2c214e25629193d1adca84b1a38" />
需要到官方网站上申请value值
下面的方法有时候不能获取地理坐标:(HTC S720无法获取地理坐标)
public static Location getNetworkLocation(Context context){ LocationManager mLocationManager = (LocationManager) context .getSystemService(Context.LOCATION_SERVICE); Location location = mLocationManager .getLastKnownLocation(LocationManager.NETWORK_PROVIDER); if (location == null){ location = new Location("TianAnMen"); location.setLatitude(39.915); location.setLongitude(116.404); } return location; }
相关文章推荐
- Android开发之系统信息【1】——获取Android手机中SD卡存储信息
- Android Map Api 使用和开发(3)浮动搜索框 ,通过地址名称获取经纬度和详细地址并定位
- Android Map Api 使用和开发(3)浮动搜索框 ,通过地址名称获取经纬度和详细地址并定位
- android开发 获取手机分辨率大小
- 【小功能2】android获取手机信息(号码,内存,CPU,分辨率,MAC,IP,SD卡,IMEI,经纬度,信号强度等等)
- Android Map Api 使用和开发(2) 定位我的位置、地图弹出泡泡、通过经纬度获取地址
- Android Map Api 使用和开发(2) 定位我的位置、地图弹出泡泡、通过经纬度获取地址
- Android获取手机经纬度
- Android开发之系统信息——获取Android手机中SD卡内存信息
- Android的开发提高篇(1) - 获取本地IP
- Android Map Api 使用和开发(2) 定位我的位置、地图弹出泡泡、通过经纬度获取地址
- (转)Android开发之系统信息——获取Android手机中SD卡内存信息
- Android Map Api 使用和开发(3)浮动搜索框 ,通过地址名称获取经纬度和详细地址并定位
- Android Map Api 使用和开发(2) 定位我的位置、地图弹出泡泡、通过经纬度获取地址
- Android开发之系统信息——获取Android手机中SD卡内存信息
- Android Map Api 使用和开发(2) 定位我的位置、地图弹出泡泡、通过经纬度获取地址
- Android手机开发:获取GPS信息
- 转载 Android Map Api 使用和开发 定位我的位置、地图弹出泡泡、通过经纬度获取地址 浮动搜索框 ,通过地址名称获取经纬度和详细地址并定位
- Orubase:为Windows Phone、Android和iOS平台开发混合本地手机应用程序
- Android Map Api 使用和开发(2) 定位我的位置、地图弹出泡泡、通过经纬度获取地址