Android定位简介

原创 2016年06月01日 20:58:23

.Android定位的三种方式
(1)网络:wifi、2G、3G、4G、5G,网上的时候会分配给你一个IP地址,每个IP与实际地址是对应的;
(2)基站:基站越多定位越准,精确度为30米-1公里;
(3)GPS:美国的GPS卫星定位,全球有24颗卫星在为GPS定位服务,实际上有27颗,其中3个是备用的;
     至少需要3个以上才能定位;精确度在15米左右;容易被高、厚、大的物体屏蔽GPS信号;
     中国的北斗卫星,主要用于大型国企、科研、军事;民用的为美国的GPS卫星;
     GPS设置的特点:不需要网络,定位时间长,开机启动慢;

(4)AGPS 网络辅助定位系统:结合了网络快速和GPS准确的优点;

 

    在代码中使用LocationManager可以得到三种位置提供者;

 

packagecom.itheima.mobilesafe.service;
 
import android.app.Service;
import android.content.Context;
import android.content.Intent;
importandroid.content.SharedPreferences;
importandroid.content.SharedPreferences.Editor;
import android.location.Location;
importandroid.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.os.IBinder;
 
public class GPSService extendsService {
 
        privateLocationManager lm;
        privateString a;
        privateString j;
        privateString w;
        privateSharedPreferences sp;
        privateMyLocationListener ml;
 
        @Override
        publicIBinder onBind(Intent intent) {
               returnnull;
        }
 
        @Override
        publicvoid onCreate() {
               super.onCreate();
               sp= getSharedPreferences("config", Context.MODE_PRIVATE);
               lm= (LocationManager) getSystemService(LOCATION_SERVICE);
 
               //更新地理位置信息
               //provider 定位方式:GPS、网络、基站
               //minTime 更新地理位置间隔的最小时间
               //minDistance更新地理位置间隔的最小移动距离
               //listener 位置变化的监听器
               ml= new MyLocationListener();
//             lm.getBestProvider(criteria, enabledOnly)
       
               lm.requestLocationUpdates("gps",0, 0, ml);
        }
       
        @Override
        publicvoid onDestroy() {
               super.onDestroy();
               //移除获得地理位置信息的监听器
               lm.removeUpdates(ml);
               lm= null;
        }
       
        /**
         * 自定义一个位置监听器
         * @author Administrator
         *
         */
        privateclass MyLocationListener implements LocationListener{
 
               /**
                * 位置发生变化回调这个方法
                * location 位置对象
                */
               @Override
               publicvoid onLocationChanged(Location location) {
                       a= location.getAccuracy() + "/";
                       j= location.getLongitude() + "/";
                       w= location.getLatitude() + "";
                      
                       Editoreditor = sp.edit();
                       editor.putString("location",a + j + w);
                      
                       editor.commit();
               }
 
               /**
                * 位置发生变化回调这个方法
                * 定位方式的状态的变化:GPS 关闭-打开,打开-关闭
                */
               @Override
               publicvoid onStatusChanged(String provider, int status, Bundle extras) {
                      
               }
 
               /**
                *
                * 定位方式可用时回调这个方法
                */
               @Override
               publicvoid onProviderEnabled(String provider) {
                      
               }
 
               /**
                *
                * 定位方式不可用时回调这个方法
                */
               @Override
               publicvoid onProviderDisabled(String provider) {
                      
               }
              
        }
 
}

 

版权声明:本文为博主原创文章,转载请注明出处

Android Studio 简介

为了简化 Android 的开发力度,Google 决定将重点建设 Android Studio 工具。Google 会在今年年底停止支持其他集成开发环境,比如 Eclipse。 Android...
  • u013758456
  • u013758456
  • 2015年07月16日 15:13
  • 1383

Android简单定位实例

很多应用对定位的要求并不是那么高,也许只是确认一下当前的大概位置,城市的那个方向或者临时需要一个当前的经纬度,这时候定位速度应该是第一位的。下面就说说简单定位需求的实现。 步骤 1.启动应用的时候...
  • limb99
  • limb99
  • 2014年01月27日 20:43
  • 20549

Android定位的实现

原文地址:http://blog.csdn.net/limb99/article/details/8765584
  • shiguangbianjing
  • shiguangbianjing
  • 2014年04月14日 09:42
  • 4349

什么是Android——Android平台简介

什么是Android——Android平台简介Keyword: Google Android,Linux内核,开源,应用领域,开放手机联盟(Open Handset Alliance)      ...
  • leoyunfei
  • leoyunfei
  • 2011年03月10日 17:52
  • 8892

android 的三种定位方式

Android 定位大致分为三大类:GPS定位;Network定位;AGPS定位。而Network又细分为WIFI定位和基站定位。下面详细讲解每种定位:   Android GPS:需要GPS硬件支...
  • luosiye312
  • luosiye312
  • 2016年01月22日 15:34
  • 24456

Android定位功能

不说废话,直接说说实现android定位有关的API吧。 这些API都在android.location包下,一共有三个接口和八个类。它们配合使用即可实现定位功能。 三个接口: Gp...
  • luckypeng
  • luckypeng
  • 2015年06月11日 16:21
  • 1651

Android Studio 介绍

写在前面 谷歌称,Android Studio将会让开发者“更快、更具生产力”,是扩展开发平台Eclipse的替代平台。Android Studio的开发源自集成开发环境IntelliJ ID...
  • supersugar3126
  • supersugar3126
  • 2013年10月30日 16:24
  • 3344

android 4种定位原理及实现——1

android 定位一般有四种方法,这四种方式分别是:GPS定位,WIFI定准,基站定位,AGPS定位,                               (1)Android GPS:需要...
  • u010205141
  • u010205141
  • 2015年03月10日 18:42
  • 2682

android开发怎么自动定位

最近,我做了一个项目(新手练习),里面有段功能是要自动定位到当前位置,以下是代码: 新建一个类 : import android.content.Context; import android.co...
  • qq_34836994
  • qq_34836994
  • 2016年11月01日 23:00
  • 454

Android的四种定位方式

Android 定位一般有四种方法,这四种方式分别是:GPS定位,WIFI定准,基站定位,AGPS定位。                                    (1) Android...
  • boonya
  • boonya
  • 2014年12月01日 22:11
  • 8994
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android定位简介
举报原因:
原因补充:

(最多只允许输入30个字)