精华内容
下载资源
问答
  • 如何获取手机位置信息
    千次阅读
    2020-12-02 11:43:54
    function Location() {};
    
    Location.prototype.getLocation = function (callback) {
      let options = {
        enableHighAccuracy: true,
        maximumAge: 1000
      };
    
      this.callback = Object.prototype.toString.call(callback) == "[object Function]" ?
        callback :
        function (address) {
          alert(address.province + address.city);
          console.log("getocation(callbackFunction) 可获得定位信息对象");
        };
    
      let self = this;
      if (navigator.geolocation) {
        //浏览器支持geolocation
        navigator.geolocation.getCurrentPosition(function (position) {
          //经度
          let longitude = position.coords.longitude;
          //纬度
          let latitude = position.coords.latitude;
          self.loadMapApi(longitude, latitude);
        }, self.onError, options);
      } else {
        //浏览器不支持geolocation
      }
    };
    
    Location.prototype.loadMapApi = function (longitude, latitude) {
      let self = this;
      let oHead = document.getElementsByTagName('HEAD').item(0);
      let oScript = document.createElement("script");
      oScript.type = "text/javascript";
      oScript.src = "http://api.map.baidu.com/getscript?v=2.0&ak=A396783ee700cfdb9ba1df281ce36862&services=&t=20140930184510";
      oHead.appendChild(oScript);
      oScript.onload = function (date) {
        let point = new BMap.Point(longitude, latitude);
        let gc = new BMap.Geocoder();
        gc.getLocation(point, function (rs) {
          let addComp = rs.addressComponents;
          self.callback(addComp);
        });
      }
    };
    
    Location.prototype.onError = function (error) {
      switch (error.code) {
        case 1:
          alert("位置服务被拒绝");
          break;
        case 2:
          alert("暂时获取不到位置信息");
          break;
        case 3:
          alert("获取信息超时");
          break;
        case 4:
          alert("未知错误");
          break;
      }
    };
    
    // 调用
    let local = new Location();
    local.getLocation(function (res) {
      //此处就是返回的地理位置信息
      console.log(res);
      //JSON.stringify(res),把返回的对象转为字符串了,自己根据需求截取下就好
      let resstr = JSON.stringify(res);
      alert(resstr);
    });
    
    更多相关内容
  • Android如何获取手机的地理位置

    热门讨论 2014-11-14 10:51:31
    Android如何获取手机的地理位置,可靠,绝对可靠!
  • 本文实例为大家分享了Android获取手机位置的方法,供大家参考,具体内容如下 1、项目Src下创建…service包,然后新建GPSService类 package com.zebra.mobilesafe.service; import java.io.IOException; import ...
  • android 获取手机位置信息

    千次阅读 2017-08-10 09:31:23
    1,获取LocationManager 对象 LocationManager locaManager =(LocationManager) getSystemService(Context.LOCATION_SERVICE); 2,调用locationManager 中requuestLocationUpdates()函数 locManager....

    1,获取LocationManager 对象

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


    2,调用locationManager 中requuestLocationUpdates()函数


    locManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 500, 0, new LocationListener() {


    @Override
    public void onStatusChanged(String provider, int status, Bundle extras) {
    // TODO Auto-generated method stub


    }


    @Override
    public void onProviderEnabled(String provider) {
    // 当GPS locationProvider 可用时,更新位置
    updateView(locManager.getLastKnownLocation(provider));


    }


    @Override
    public void onProviderDisabled(String provider) {
    updateView(null);


    }


    @Override
    public void onLocationChanged(Location location) {
    // 当GPS定位信息发生改变时,更新位置
    updateView(location);


    Log.d("UPDATElocation", " 00000000");

    }
    });


    3,获取经纬度洗洗

               private void updateView(Location newlocation) {


    if (newlocation != null) {

    Log.d("UPDATElocation", " 00000000");

    StringBuilder sb = new StringBuilder();
    sb.append("经度:");
    sb.append(newlocation.getLongitude());
    sb.append("\n纬度:");
    sb.append(newlocation.getLatitude());


    show.setText(sb.toString());
    } else {
    show.setText("xxx");
    }
    }






    展开全文
  • 简单介绍一下gps定位的操作。...通过获取这个实例,然后调用它的requestLocationUpdates方法进行注册。传入的参数分别有以下含义:  * 1、provider:哪种定位方式  * 2、minTime:定位的时间差  * 3、minDistan

    简单介绍一下gps定位的操作。

    主要是靠locationmanger这个api完成的一些操作;通过获取这个实例,然后调用它的requestLocationUpdates方法进行注册。传入的参数分别有以下含义:

                 * 1、provider:哪种定位方式
                 * 2、minTime:定位的时间差
                 * 3、minDistance:定位距离差
                 * 4、定位监听回调

    然后第四个参数是一个监听器,要回调这个方法,监听位置的变化情况。实时更新所在位置

    程序代码如下:

    package com.example.gps;
    
    import android.location.Location;
    import android.location.LocationListener;
    import android.location.LocationManager;
    import android.os.Bundle;
    import android.app.Activity;
    import android.view.Menu;
    import android.view.View;
    import android.widget.TextView;
    
    public class MainActivity extends Activity {
    
        private TextView tv_show_location;
    
    	@Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            
            tv_show_location = (TextView) findViewById(R.id.tv_show_location);
            
            //获取定位管理器
            LocationManager locationManager = (LocationManager) getSystemService(LOCATION_SERVICE);
            //设置定位信息
            //坐标位置改变,回调此监听方法
            LocationListener listener = new LocationListener() {
            	
            	@Override
            	public void onStatusChanged(String provider, int status, Bundle extras) {
            		// TODO Auto-generated method stub
            		
            	}
            	
            	@Override
            	public void onProviderEnabled(String provider) {
            		// TODO Auto-generated method stub
            		
            	}
            	
            	@Override
            	public void onProviderDisabled(String provider) {
            		// TODO Auto-generated method stub
            		
            	}
            	
            	//位置改变的时候调用,这个方法用于返回一些位置信息
            	@Override
            	public void onLocationChanged(Location location) {
            		//获取位置变化结果
            		float accuracy = location.getAccuracy();//精确度,以密为单位
            		double altitude = location.getAltitude();//获取海拔高度
            		double longitude = location.getLongitude();//经度
            		double latitude = location.getLatitude();//纬度
            		float speed = location.getSpeed();//速度
            		
            		//显示位置信息
            		tv_show_location.append("accuracy:"+accuracy+"\n");
            		tv_show_location.append("altitude:"+altitude+"\n");
            		tv_show_location.append("longitude:"+longitude+"\n");
            		tv_show_location.append("latitude:"+latitude+"\n");
            		tv_show_location.append("speed:"+speed+"\n");
            	}
            };
            locationManager.requestLocationUpdates("gps", 0, 0, listener);//Register for location updates
        }
    }
    
    
    


    而如果想自动获取最佳定位方式的话,加入以下代码即可:

     //动态获取所有的定位方式
    	        List<String> allProviders = locationManager.getAllProviders();
    	        for (String string : allProviders) {
    				System.out.println("所有定位方式:>>>"+string);
    			}
    	        
    	        Criteria criteria = new Criteria();
    	        criteria.setCostAllowed(true);//设置产生费用,收费的一般比较精确
    	        criteria.setAccuracy(Criteria.ACCURACY_FINE);//精确度设为最佳
    	        
    	        //动态获取最佳定位方式
    	        String bestProvider = locationManager.getBestProvider(criteria, true);
    	        /**
    	         * 1、provider:那种定位方式
    	         * 2、minTime:定位的时间差
    	         * 3、minDistance:定位距离差
    	         * 4、定位监听回调
    	         * 
    	         */
    	        //Register for location updates 
    	        locationManager.requestLocationUpdates(bestProvider, 0, 0, listener);
    用模拟器的话。需要配置三个权限:

        <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
        <uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION" />
        <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />

    第二个专门针对模拟器的权限,真机则不需要。

    运行程序,用DDMS的Maual下的Decimal发送变化的位置信息,则可以在手机上显示坐标的变化。


    对于基于位置的操作,建议在真机上测试。

    展开全文
  • <script type="text/javascript"> function Location() {}; Location.prototype.getLocation = function (callback) { var options = { enableHighAccuracy: true, maximumAge: 1000 }; this.callback = ...

    <script type="text/javascript">
    function Location() {};

    Location.prototype.getLocation = function (callback) {
    var options = {
    enableHighAccuracy: true,
    maximumAge: 1000
    };
    this.callback = Object.prototype.toString.call(callback) == "[object Function]" ?
    callback :
    function (address) {
    alert(address.province + address.city);
    console.log("getocation(callbackFunction) 可获得定位信息对象");
    };
    var self = this;
    if (navigator.geolocation) {
    //浏览器支持geolocation
    navigator.geolocation.getCurrentPosition(function (position) {
    //经度
    var longitude = position.coords.longitude;
    //纬度
    var latitude = position.coords.latitude;
    self.loadMapApi(longitude, latitude);
    }, self.onError, options);
    } else {
    //浏览器不支持geolocation
    }
    };

    Location.prototype.loadMapApi = function (longitude, latitude) {
    var self = this;
    var oHead = document.getElementsByTagName('HEAD').item(0);
    var oScript = document.createElement("script");
    oScript.type = "text/javascript";
    oScript.src = "http://api.map.baidu.com/getscript?v=2.0&ak=A396783ee700cfdb9ba1df281ce36862&services=&t=20140930184510";
    oHead.appendChild(oScript);
    oScript.onload = function (date) {
    var point = new BMap.Point(longitude, latitude);
    var gc = new BMap.Geocoder();
    gc.getLocation(point, function (rs) {
    var addComp = rs.addressComponents;
    self.callback(addComp);
    });
    }
    };

    Location.prototype.onError = function (error) {
    switch (error.code) {
    case 1:
    alert("位置服务被拒绝");
    break;
    case 2:
    alert("暂时获取不到位置信息");
    break;
    case 3:
    alert("获取信息超时");
    break;
    case 4:
    alert("未知错误");
    break;
    }
    };

    //调用
    var local = new Location();
    local.getLocation(function (res) {
    //此处就是返回的地理位置信息
    console.log(res);
    //JSON.stringify(res),把返回的对象转为字符串了,自己根据需求截取下就好
    var resstr = JSON.stringify(res);
    alert(resstr);
    });
    </script>

    展开全文
  • vue定位 获取用户位置信息

    万次阅读 2019-07-04 10:17:43
    关于定位功能尝试了很多种方法,h5定位,百度地图定位,高德地图定位,因为ip定位只能定位到城市,所以我选用的是浏览器定位。...百度定位:定位的位置与实际位置偏差太大,我从郑州的一个小县城定位到了...
  • 申请自己的Key,也可以使用本代码key,本代码实现输入中文地址,返回坐标信息
  • Android获取手机位置代码实现

    千次阅读 2015-03-31 22:29:29
    // 用到位置服务 private LocationManager lm; private MyLocationListener listener; @Override public IBinder onBind(Intent intent) { // TODO Auto-generated method stub return null; } @...
  • 手机端定位获取用户位置信息

    万次阅读 2017-05-26 10:31:09
    很多时候,我们需要获取手机端用户的位置信息,当然这需要用户的同意授权才能进行获取,下面介绍下我在项目中使用的定位 由于本项目web端使用的是高德地图,因此手机端定位也使用高德的定位接口 浏览器...
  • Android 获取位置信息

    千次阅读 2021-07-17 10:24:12
    Android 提供 LocationManager 等相关API用于获取位置信息。 一、权限申请 1.1 APP申请定位权限 Manifest 文件中添加以下权限: <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/&...
  • 地理位置的API是通过 navigator.geolocation 对象提供,通过getCurrentPosition方法获取 获取到的地理位置跟 GPS、IP地址、WIFI和蓝牙的MAC地址、GSM/CDMS的ID有关 比如:手机优先使用GPS定位,笔记本等最准确的...
  • 微信小程序--登录+获取用户信息+获取手机号+获取位置信息主题部分小坑 主题部分 1、基础代码 wxml: <view class="userinfo" style="margin-bottom:50rpx"> <view class="userinfo" style="margin-top:45...
  • location.getAddress()这个获取值为空,之前一直选择高精度模式,但是获取不到位置信息 //设置定位模式为AMapLocationMode.Hight_Accuracy,高精度模式。 mLocationOption.setLocationMode(AMapLocationMode.Hight_...
  • Android中获取当前位置信息

    千次阅读 2021-06-02 23:03:26
    这篇教程主要介绍了在...有两种类型的位置提供者:GPS定位网络定位以上两种类型,任何一种都可以获得用户或者用户设备的位置信息。但是,它们各有优劣,推荐两者同时使用。GPS 定位,在室内反应迟缓,比较耗时...
  • 前端获取手机地理位置坐标

    千次阅读 2018-02-11 16:42:28
     (showPosition, showErr, options)">获取精确定位信息  (showPosition, showErr)">获取粗糙定位信息  ()">开始监听位置  ()">停止监听位置      var geolocation = new qq.maps.Geolocation("JKDBZ-QGTKO-...
  • 获取位置 新建一个service的包 新建一个GPSService类继承系统的Service类 清单文件中注册一下 重写onCreate()方法,服务创建的时候回调 重写onDestroy()方法,服务销毁的时候回调 把上一节的代
  • Android 开发——获取位置

    千次阅读 2022-03-23 15:32:38
    获取手机中所有可用的位置提供器 法一 LocationManager locationManager = (LocationManager)getSystemService(LOCATION_SERVICE); List<String> providerNames = locationManager.getAllProviders(); ...
  • 我在项目测试的时候,使用uniapp真机调试的时候明明可以获取位置信息,但是在打包后却没有办法拿到位置信息。后来才知道是因为在真机调试的时候,uniapp自带了高德的SDK能够获取位置信息。打包之后要自己去申请...
  • 现在有这么一个需求:...LocationTool获取当前位置信息 Android手机获取当前位置的方式:GPS定位,WIFI定位,基站定位,当前Demo使用GPS卫星定位,在LocationTool中返回Location、LocationManager两者对象,通过Loca
  • 我在项目测试的时候,使用uniapp真机调试的时候明明可以获取位置信息,但是在打包后却没有办法拿到位置信息。后来才知道是因为在真机调试的时候,uniapp自带了高德的SDK能够获取位置信息。 解决: 第一步, 我...
  • 一、首先普及一下手机基站信息中相关的专业词汇: 通过TelephonyManager 获取lac:mcc:mnc:cell-id(基站信息)的解释: MCC,Mobile Country Code,移动国家代码(中国的为460); MNC,Mobile Network Code,移动网络...
  • 主要介绍了基于Python获取照片的GPS位置信息,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
  • 【Unity】unity3d 获取手机地理位置

    万次阅读 2016-11-30 11:03:18
    怎么用unity3d 获取手机地理位置呢?unity的某些场景中,如果需要定位地理位置的话,但是unity却没有提供相应的接口。对于安卓(这里举例,IOS暂没研究)这个时候只能用java写个获取地理位置的方法,然后与unity交互...
  • 用于手机WEB端地理位置定位代码,你可以根据其代码功能进行拓展和完善
  • 利用手机基站获取位置

    万次阅读 2016-12-19 16:57:45
    正好项目中遇到了手机基站的一些原理,那今天就在这里分享一下,现在穿戴设备这么发达,如果能有效地利用,说不定能对孩子及时的寻找,起到帮助,同时也是一大商机不是。什么是基站:简单的说就是我们打电话能连接的...
  • Java 安卓获得获得手机设备信息

    千次阅读 2021-03-16 11:42:15
    1)android 获取设备型号、OS版本号:import android.os.Build;// .....Build bd = new Build()...android.os.Build.MODELandroid.os.Build.VERSION.RELEASE2)android 获取设备Id等信息:1.需要在AndroidManifest.xml...
  • uniapp官网上没有找到关于获取用户手机定位是否打开的接口,而在开发小程序的时候,遇到了用户虽然授权了位置服务,但是还是获取不到用户位置,发现实际的问题是,用户的手机定位功能没开。 uniapp相关接口 1、uni.
  • Android获取位置信息的方法

    千次阅读 2021-05-26 06:26:25
    本文实例为大家分享了Android获取位置信息的具体代码,供大家参考,具体内容如下1.位置服务的简介:位置服务,英文翻译为Location-Based Services,缩写为LBS,又称为定位服务或基于位置的服务,融合了GPS定位、移动...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 178,831
精华内容 71,532
关键字:

如何获取手机位置信息