Android实现地理定位功能

Android实现地理定位功能,第1张

概述最近试着写了一下Android的定位,代码在下面,比较简单首先需要的权限有<uses-permissionandroid:name=\"android.permission.ACCESS_COARSE_LOCATION\"/>

最近试着写了一下AndroID的定位,代码在下面,比较简单
首先需要的权限有

<uses-permission androID:name="androID.permission.ACCESS_COARSE_LOCATION" />  <uses-permission androID:name="androID.permission.ACCESS_FINE_LOCATION"/>  <uses-permission androID:name="androID.permission.INTERNET"/> 

然后是里面的代码

package com.example.a5.myapplication;  import androID.Manifest; import androID.content.Context; import androID.content.pm.PackageManager; import androID.location.Criteria; import androID.location.Location; import androID.location.LocationListener; import androID.location.LocationManager; import androID.support.v4.app.ActivityCompat; import androID.support.v7.app.AlertDialog; import androID.support.v7.app.AppCompatActivity; import androID.os.Bundle; import androID.vIEw.VIEw; import androID.vIEw.Window; import androID.vIEw.WindowManager; import androID.webkit.WebVIEw; import androID.Widget.button; import androID.Widget.TextVIEw;  public class MainActivity extends AppCompatActivity {   @OverrIDe  protected voID onCreate(Bundle savedInstanceState) {   super.onCreate(savedInstanceState);   requestwindowFeature(Window.FEATURE_NO_Title);   //全屏   getwindow().setFlags(WindowManager.LayoutParams.FLAG_FulLSCREEN,WindowManager.LayoutParams.FLAG_FulLSCREEN);   setContentVIEw(R.layout.activity_main);   button button = (button) findVIEwByID(R.ID.button);   button.setonClickListener(new VIEw.OnClickListener() {    @OverrIDe    public voID onClick(VIEw v) {     //获取位置服务     LocationManager locationManager = (LocationManager) MainActivity.this.getSystemService(Context.LOCATION_SERVICE);     Criteria criteria = new Criteria();     //ACCURACY_HIGH/ACCURACY_LOW精度选择     criteria.setAccuracy(Criteria.ACCURACY_FINE);     //高度     criteria.setAltituderequired(true);     //方位信息     criteria.setbearingrequired(true);     //是否允许付费     criteria.setCostAllowed(true);     //对电量的要求     criteria.setPowerRequirement(Criteria.POWER_LOW);     //速度     criteria.setSpeedrequired(true);     //获取最佳服务     String provIDer = locationManager.getBestProvIDer(criteria,true);     //权限检查     if (ActivityCompat.checkSelfPermission(MainActivity.this,Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(MainActivity.this,Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {      return;     }     //获取到了位置     Location location = locationManager.getLastKNownLocation(provIDer);     //开启地理位置监听定位类型、毫秒、米、监听时间     locationManager.requestLocationUpdates(provIDer,3000,1,new Listener());     locateResult(location);     }   });  }  public class Listener implements LocationListener {    @OverrIDe   public voID onLocationChanged(Location location) {    //位置变化,获取最新的位置    locateResult(location);   }    @OverrIDe   public voID onStatusChanged(String provIDer,int status,Bundle extras) {    }    @OverrIDe   public voID onProvIDerEnabled(String provIDer) {    }    @OverrIDe   public voID onProvIDerDisabled(String provIDer) {    }  }   public voID locateResult(Location location){   new AlertDialog.Builder(MainActivity.this)     .setMessage("纬度" + String.valueOf(location.getLatitude()) +       "\n经度" + String.valueOf(location.getLongitude()) +       "\n速度" + String.valueOf(location.getSpeed()) +       "\n高度" + String.valueOf(location.getAltitude()) +       "\n朝向" + String.valueOf(location.getbearing())     )     .setNegativebutton("取消",null)     .show();  } } 

最后上图:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程小技巧。

总结

以上是内存溢出为你收集整理的Android实现地理定位功能全部内容,希望文章能够帮你解决Android实现地理定位功能所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1144190.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)

保存