资源简介
LBS获取城市名称,根据系统自带GPS获取经纬度来判断所在城市
代码片段和文件信息
package com.taoche.qctt.activity;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.util.List;
import android.content.Context;
import android.location.Address;
import android.location.Criteria;
import android.location.Geocoder;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
public class LBS {
//public static String cityName = “深圳“; //城市名
public static String cityName ; //城市名
private static Geocoder geocoder; //此对象能通过经纬度来获取相应的城市等信息
/**
* 通过地理坐标获取城市名 其中CN分别是city和name的首字母缩写
* @param context
*/
public static void getCNBylocation(Context context){
geocoder = new Geocoder(context);
//用于获取Location对象,以及其他
LocationManager locationManager;
String serviceName = Context.LOCATION_SERVICE;
//实例化一个LocationManager对象
locationManager = (LocationManager)context.getSystemService(serviceName);
//provider的类型
String provider = LocationManager.NETWORK_PROVIDER;
Criteria criteria = new Criteria();
criteria.setAccuracy(Criteria.ACCURACY_FINE); //高精度
criteria.setAltitudeRequired(false); //不要求海拔
criteria.setBearingRequired(false); //不要求方位
criteria.setCostAllowed(false); //不允许有话费
criteria.setPowerRequirement(Criteria.POWER_LOW); //低功耗
//通过最后一次的地理位置来获得Location对象
Location location = locationManager.getLastKnownLocation(provider);
String queryed_name = updateWithNewLocation(location);
if((queryed_name != null) && (0 != queryed_name.length())){
cityName = queryed_name;
}
/*
* 第二个参数表示更新的周期,单位为毫秒;第三个参数的含义表示最小距离间隔,单位是米
* 设定每30秒进行一次自动定位
*/
locationManager.requestLocationUpdates(provider 30000 50
locationListener);
//移除监听器,在只有一个widget的时候,这个还是适用的
locationManager.removeUpdates(locationListener);
}
/**
* 方位改变时触发,进行调用
*/
private final static LocationListener locationListener = new LocationListener() {
String tempCityName;
public void onLocationchanged(Location location) {
tempCityName = updateWithNewLocation(location);
if((tempCityName != null) && (tempCityName.length() != 0)){
cityName = tempCityName;
}
}
- 上一篇:Android课程设计之视频播放器
- 下一篇:servlet+jsp的购物车案例
评论
共有 条评论