草庐IT

android - 从 Location.distanceBetween() 返回的初始方位角的比例是多少

当调用Location.distanceBetween()并获取初始和最终方位角时,方位角的比例是多少?我得到负值,这对我来说没有意义。方位角从0度到360度(相对或绝对,无关紧要)。我唯一能想到的是N到E到S是0到180度,N到W到S是0到-180度。有人可以阐明这一点吗? 最佳答案 正如您已经得出的结论:在功能描述中,提到了真北以东度数。真北是地理上的,与地磁(南磁极)确定的北方有所不同。因此,如果您向东移动,则方位角为90度;如果您向南移动,则方位角为+180或-180;如果您向西移动,则方位角为-90度。

android - 为什么 Location.distanceBetween 会为结果参数抛出异常?

为什么Location.distanceBetween抛出以下示例的异常:Location.distanceBetween(51.5175431381974,-0.1501073187713473,51.5173695544231,-0.15127676190184,results);我检查了相同的定位here距离报告为0.08319公里,我不确定为什么会抛出异常:java.lang.IllegalArgumentException:resultsisnullorhaslength 最佳答案 您的结果变量需要初始化为长度>0的flo

Android LocationListener 从 GPS 切换到网络

我有一个服务实现LocationListener监听GPS和网络。该应用程序依赖于持续的位置馈送,但似乎当GPS难以获得locationfix网络位置时不会介入。manager.requestLocationUpdates(LocationManager.GPS_PROVIDER,1000*30,0,LocationReporterService.this);manager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER,1000*60*2,0,LocationReporterService.this);问题如何确保我总能

Android LocationManager 网络提供者返回 null

我想使用Android应用程序获取我的GPS坐标。我开始开发,可以得到GPS坐标,但是不准确。我想使用NETWORK_PROVIDER,但此提供商的Location始终为空。更有趣的是,isProvicerEnabled返回true。我使用了这个线程中的示例(最佳答案)enterlinkdescriptionhereprivatevoid_getLocation(){//Getthelocationmanagertry{booleanisGPSEnabled=false;booleanisNetworkEnabled=false;locationManager=(LocationMan

java - 如何在不使用 GPS 的情况下以编程方式检测 android 设备当前所在的国家/地区?

当我的应用程序运行时,我想检测当前位置的国家/地区名称并为该特定国家/地区名称做一些事情,我可以使用地理编码器、gps轻松完成。但我想从Locale获取它,或者如果有更多可用的。 最佳答案 使用此链接http://ip-api.com/json,这将提供所有信息作为json。从这个json你可以很容易地得到国家。该站点使用您当前的IP工作,它会自动检测IP和发送回的详细信息。文档http://ip-api.com/docs/api:json希望对您有所帮助。这是我得到的。{"as":"AS55410C48OkhlaIndustria

java - 在对话框中启用 GPS 后,Android 位置返回 null

当我进入一个屏幕时,我会检查GPS是否已打开,如果没有,则会显示启用GPS的对话框。当用户单击"is"时,onActivityResult->GPS已打开,我尝试获取位置,但这始终返回null当我在GPS已打开的情况下进入屏幕时,会正确检索位置。我已经为此苦苦挣扎了几天,似乎找不到任何资源。UserLocationUtilities.javapublicclassUserLocationUtilitiesimplementsGoogleApiClient.ConnectionCallbacks,GoogleApiClient.OnConnectionFailedListener,Loc

android - 如何阻止用户长时间等待位置修复?

我正在构建一个GPSAndroid应用程序,它根据用户的当前位置获取最近的地点。这是我的应用程序所做的:检查GPS或网络是否可用如果两者都不可用,则什么都不做。否则,我们首先检查GPS是否存在,如果不存在则检查网络。使用其中之一后,我们获取当前位置,然后将其发送到服务器。从服务器检索数据并更新UI后,我们将停止监听进一步的位置更新。一次就够了,直到他们按下刷新按钮再次开始。我希望做的事情:如果GPS或网络无法检索位置(例如2分钟),那么我们会更换提供商。我们不希望用户等待太久。如果能够同时使用这两个提供程序,然后从中获得最准确的信息,那就太好了。我看过http://developer.

android - 关闭 GPS 时广播接收器被调用 2 次?

list:广播接收者:publicclassGpsLocationReceiverextendsBroadcastReceiver{@OverridepublicvoidonReceive(Contextcontext,Intentintent){Log.d(TAG,"onReceive...");if(intent.getAction().matches("android.location.PROVIDERS_CHANGED")){Log.d(TAG,"GPSproviderchanged...");EventBus.getDefault().postLocal(intent.get

android - 如果 GPS 关闭,WiFi getScanResults 返回一个空列表。 (安卓 6.0.1)

我试图在这个gif中解释问题基本上,此测试应用会收到“RSSI_CHANGED”Intent并在屏幕上显示扫描结果。除非启用GPS,否则扫描结果始终为空。我想我的问题是为什么?ToaccessthehardwareidentifiersofnearbyexternaldevicesviaBluetoothandWi-Fiscans,yourappmustnowhavetheACCESS_FINE_LOCATIONorACCESS_COARSE_LOCATIONpermissions我已获得“ACCESS_COARSE_LOCATION”授权 最佳答案

android - requestLocationUpdates 不会在 Android 中按时间间隔更新

我的问题是我的服务实现了LocationListener,似乎每500毫秒接收一次GPS更新。无论我在requestLocationUpdates函数中输入什么minTime。我的代码fragment:publicclassLocationServiceextendsServiceimplementsLocationListener{LocationManagerlocMan;@OverridepublicintonStartCommand(Intentintent,intflags,intstartId){locMan=(LocationManager)getSystemServic