当前位置: 首页 > 知识库问答 >
问题:

获取经度和纬度从lastNotn位置()?

万俟渝
2023-03-14

我有一个onCreate的活动,它计算您的位置和附近的事件之间的距离,我使用lastNotnloceto获取当前设备位置并在谷歌地图上标记它,但我需要它来写经度和纬度它的方法之外用于计算距离。

我已经使用LocationManager来获取粗略的坐标,但这些坐标不够准确,对于距离不到半英里的东西来说,距离为50英里。我目前拥有它,因此将覆盖从LocationManager获得的经度和纬度,但它没有。

我也尝试过使用LocationRequest,但没有帮助。

                    LocationRequest locationRequest = LocationRequest.create();
                    locationRequest.setInterval(60000);
                    locationRequest.setFastestInterval(5000);
                    locationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
                    LocationCallback locationCallback = new LocationCallback() {
                        @Override
                        public void onLocationResult(LocationResult locationResult){
                            if(locationRequest==null){
                                return;
                            }
                            for(Location location : locationResult.getLocations()) {
                                if (location != null){
                                    userLat=location.getLatitude();
                                    userLng=location.getLongitude();
                                }
                            }
                        }
                    };

                    LocationServices.getFusedLocationProviderClient(EventLocator.this).requestLocationUpdates(locationRequest,locationCallback, null);

                    LocationServices.getFusedLocationProviderClient(EventLocator.this).getLastLocation().addOnSuccessListener(new OnSuccessListener<Location>() {

                        @Override
                        public void onSuccess(Location location) {
                            if(location!=null){
                                double longitude=location.getLongitude();
                                double latitude=location.getLatitude();
                                userLng=longitude;
                                userLat=latitude;
                            }
                        }
                    });

所有权限都是正确的,正如我所说的,我已经使用getLastPlace()放置了一个标记。

共有3个答案

曹君墨
2023-03-14

通常GPS需要时间预热。您的初始位置读数可能来自冷GPS。为了获得更准确的读数,请继续阅读结果,直到获得适合自己的准确读数。

请记住,手机上的全球定位系统不是很准确,如果当时你所在的地区没有足够的覆盖范围,就无法在建筑物内获得准确的读数。

最后知道的位置不会给你当前位置,就像它说的最后知道的位置可能是几分钟前。它也可能来自手机信号塔的读数,而不是全球定位系统的读数。

端木震博
2023-03-14

您可以创建接口,并在需要计算距离的类中实现它

羊越
2023-03-14

>

  • 确保您在清单文件中添加了位置权限

    如果您使用的是上面提到的android os 6,请确保您拥有位置权限

    确保手机中已启用GPS服务

    公共位置getLoction(){LocationManager locationManager=(LocationManager)this.getSystemService(Context.LOCATION_SERVICE);
    if(locationManager!=null){
    位置lastNotnLocationGPS=locationManager.getLastNotnPlace(LocationManager.GPS_PROVIDER); if(lastNotnLocationGPS!=null){
    返回lastNotnLocationGPS;}其他{
    位置loc=locationManager.getLastNotnLoction(LocationManager.PASSIVE_PROVIDER); System.out.println("1::"loc);----在这里获取null System.out.println("2::"loc.get纬度());返回loc;}}其他{
    返回null;}}

    如果仍然无法工作,请尝试重新启动手机,然后再试一次。

  •  类似资料:
    • 问题内容: 我在SQLite数据库中存储了经度和纬度数据,我想获取与所输入参数最接近的位置(例如,我当前的位置-纬度/经度等)。 我知道这在MySQL中是可能的,并且我已经做了大量的研究,认为SQLite需要Haversine公式的自定义外部函数(计算球体上的距离),但是我还没有发现任何用Java编写并且可以工作的东西。 另外,如果要添加自定义功能,则需要org.sqlite.jar(用于org.

    • 问题内容: 在Python中使用GDAL,如何获取GeoTIFF文件的纬度和经度? GeoTIFF似乎没有存储任何坐标信息。而是存储XY原点坐标。但是,XY坐标不提供左上角和左下角的纬度和经度。 看来我需要做一些数学运算才能解决这个问题,但是我不知道从哪里开始。 执行此操作需要什么程序? 我知道该方法对此很重要,但是,我不知道该怎么做。 问题答案: 要获取您的Geotiff角的坐标,请执行以下操作

    • 我想在不同的郊区使用下面的API和pss来获得郊区或地址的纬度和经度。 http://en.wikipedia.org/w/api.php?format=json 此外,郊区列表将约为16,000个,那么如何使用此API提取地理坐标?

    • 我试图从这个结果页面的“Show Map”按钮中刮出纬度和经度数据:https://www.psychologytoday.com/us/therapists/60148/374863?sid=5d01e84909804&ref=2&tr=resultsName:https://www.psychologytoday.com/us/therapists/60148/374863?sid=5d01e

    • 我可以找到当前位置的经纬度,但是这些数据在改变我的当前位置之前是不显示的,我想在不改变我的位置的情况下得到当前位置的经纬度。 因为这段代码从onLocationChanged(Location loc)方法返回数据,所以在安装到我的设备上之后,如果不改变我的位置,我就无法获得数据。但是我需要纬度,经度,而不改变我的位置。这可能吗?请给出一个解决方案

    • 本文向大家介绍Android编程获取地理位置的经度和纬度实例,包括了Android编程获取地理位置的经度和纬度实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Android编程获取地理位置的经度和纬度。分享给大家供大家参考,具体如下: 在Android应用程序中,可以使用LocationManager来获取移动设备所在的地理位置信息。看如下实例:新建android应用程序TestLoc