美文网首页
Location定位

Location定位

作者: Android初学者 | 来源:发表于2017-11-23 09:44 被阅读0次

    代码实现

    /**

    * 1、获取定位管理者,这是一个系统级的服务

    * 2、请求定位更新,这里设置网络/GPS定位,定位监听器

    * 3、定位监听器中可以获取到定位对象,其中包括经纬度等信息

    */

    public class MainActivity extends AppCompatActivity implements

    View.OnClickListener, LocationListener {

    protected Button mLocationBtn;

    protected TextView mResultTv;

    private LocationManager mLocationManager;

    @Override

    protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    super.setContentView(R.layout.activity_main);

    initView();

    }

    private void initView() {

    mLocationBtn = (Button) findViewById(R.id.location_btn);

    mLocationBtn.setOnClickListener(MainActivity.this);

    mResultTv = (TextView) findViewById(R.id.result_tv);

    }

    @Override

    public void onClick(View view) {

    if (view.getId() == R.id.location_btn) {

    locate();

    }

    }

    // 定位

    private void locate() {

    // 定位管理者

    mLocationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);

    // NETWORK_PROVIDER:使用网络定位(粗略定位)

    // GPS_PROVIDER:使用GPS定位(精准定位)

    mLocationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 200, 200, this);

    }

    // 获取当前设备的经纬度

    @Override

    public void onLocationChanged(Location location) {

    double latitude = location.getLatitude();// 纬度

    double longitude = location.getLongitude();// 经度

    mResultTv.setText("纬度:" + latitude + ",经度:" + longitude);

    }

    @Override

    public void onStatusChanged(String provider, int status, Bundle extras) {

    }

    @Override

    public void onProviderEnabled(String provider) {

    }

    @Override

    public void onProviderDisabled(String provider) {

    }

    }

    需要加的权限

    相关文章

      网友评论

          本文标题:Location定位

          本文链接:https://www.haomeiwen.com/subject/pvwavxtx.html