付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
【移动应用开发技术】如何使用Android实现地理定位功能
这篇文章给大家分享的是有关如何使用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(locat
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 安全生产措施保障承诺书4篇
- 网络安全风险评估工具系统防护全面版
- 采购合同执行保障承诺函5篇
- 工程实施高效承诺书(7篇)
- 货物打包培训课件
- 特有植物种子技术研发保证承诺书8篇
- 行业信息披露与报告指南
- 我最珍爱的玩具写物作文10篇
- 货币知识的起源
- 租赁协议(2025年作业治疗辅具租赁)
- 股骨干骨折脂肪栓塞护理查房
- 美容护肤技术授课张秀丽天津医学高等专科学校04课件
- GB/T 25383-2025风能发电系统风力发电机组风轮叶片
- 公司越级汇报管理制度
- 石油化工基础知识课件
- 2025年江苏省淮安市涟水县中考一模化学试题(原卷版+解析版)
- DBJ33T 1307-2023 微型钢管桩加固技术规程
- 叉车安全管理人员岗位职责
- 忠诚宣言:出轨丈夫的保证书
- 苏教版四年级上册四则混合运算练习400题及答案
- 探伤检测报告
评论
0/150
提交评论