我正在编写我自己的背景位置更新每隔5分钟在Android的时间间隔。 我想知道setInterval和setFastestInterval之间的区别 当我将InterInval设置为5分钟并将setFastestInterval设置为2分钟。 位置更新每2分钟一次。 我想知道区别。 我无法理解这个https://developer.android.com/reference/com/google/android/gms/location/LocationRequest.html的开发者页面中究竟写了什么 另外:是否有一个内置的function来检查位置更新只有当第一次更新的距离超过20米与第二次更新? 谢谢!
哪里可以find我可以导入到我的iOS模拟器的任何区域的GPX文件? 我已经阅读架构: http : //www.topografix.com/GPX/1/1/gpx.xsd ,这是模拟位置很多工作。 Google地图中是否有数据库或隐藏的选项来获取位置? 我做我的谷歌search,但没有find它。
最近,我将Android开发视为一种业余爱好,希望开发一款能够使用Google地图查找和跟踪用户位置的应用程序。 一旦应用程序有GPSlocking,应用程序可以通过使用覆盖类绘制路线来跟踪他们的移动。 我见过类似的应用程序,如Mytracks,它们是开源的,但现在对我来说太复杂了。 理想情况下,我很想创build一个看起来像这样的应用程序 他是我的代码下面没有import。 我想要做的是创build一个地理点数组。 每当位置发生变化时,都会创build一个新的地址。 然后我尝试使用for循环遍历每个地址,并在它们之间绘制path。 public class Tracking extends MapActivity implements LocationListener { LocationManager locman; LocationListener loclis; Location Location; private MapView map; List<GeoPoint> geoPointsArray = new ArrayList<GeoPoint>(); private MapController controller; String provider = LocationManager.GPS_PROVIDER; double lat; double lon; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.map); initMapView(); initMyLocation(); locman = (LocationManager) getSystemService(Context.LOCATION_SERVICE); […]
我有问题困扰着我。 想象一下,我想在另一个线程中做一些事情,比如获取GPS文档中推荐的GPS / Location东西,必须使用后台线程。 所以这里是一个问题:两者之间有什么区别 在后台通过AsyncTask 和 创buildThread thread1 = new Thread(new Runnable() …和实现run() ?
向我的清单文件添加权限时,下面的xml工作。 <permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 但是,这个XML不起作用。 <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 我应该使用哪一个? 如果这是第一个,为什么不起作用? 我该如何解决? 此外,我得到一个Android 6.0运行时权限相关的exception: java.lang.SecurityException: "gps" location provider requires ACCESS_FINE_LOCATION permission. 当我尝试将权限添加到string数组以检查权限时,Android Studio告诉我无法parsing以下代码中的Manifest.permission : new String[]{Manifest.permission.ACCESS_FINE_LOCATION} 为什么要这样做呢? 我该如何解决?
在GPS应用程序中,用户可以显示我们称之为各种不同types地图的复杂位置点列表,每个轨道可以包含2k到10k个位置点。 在非Google地图types中渲染时,轨道被大量修剪,修剪和path简化。 这是为了保持内存使用率和性能。 即使在最坏的情况下,我们通常也只能提交远远less于一千(总计)的转换位置点到OpenGLstream水线。 在整合Google Maps SDK for iOS时,我们最初试图继续利用我们自己的OpenGL轨道渲染系统,但碰到OpenGL上下文冲突的问题(渲染工作,但是我们无法获得GMSMapView和我们自己内部的OpenGL资源以释放没有人接触删除的内存)。 因此,我们正在尝试利用GMSPolyline结构,并让Google SDK进行跟踪呈现,但是我们遇到了主要的内存使用问题,并正在寻找解决这些问题的指导。 使用Xcode仪器,我们在创build约25条聚合线时总共监测了23k个位置点(不是每个)的内存使用情况。 在创build多行的过程中,应用程序内存使用量从大约14 MB增加到大约172 MB,净峰值大约为158 MB。 不久之后,所有的多线创build,内存使用最终下降到约19 MB,似乎是稳定的,累计净额约5 MB,所以看来每个位置点需要大约220个字节(5 MB / 23K点)商店。 什么伤害我们是峰值内存使用情况。 虽然我们的实验室testing只使用了23k的位置点,但在现实世界中,通常还有更多,而iOS似乎在Google地图在iPhone 5上消耗大约450 MB之后放弃了我们的应用程序(而我们的内部多线渲染系统达到了峰值相同testing用例为12 MB)。 显然, GMSPolyLine结构不适用于我们要求的大量使用。 我们尝试用独立的自动释放池包装一些多行创build循环,然后在适当的位置排空这些循环,但这对内存使用没有影响。 创build多边形线后控制回到主运行循环的峰值内存使用根本没有变化。 后来变得清楚为什么; 在创build多行之后,Google Map系统才会释放资源,直到第一个DisplayLinkcallback。 我们接下来的工作就是手动调整我们在GMSPolyline中推送的数据量,可能会使用我们自己的边界testing,裁剪,修剪和最小化,而不是依靠Google地图来有效地完成这项工作。 这里的缺点是,这将意味着更多的GMSPolyline对象将被分配和释放,可能在用户在地图上进行平移/缩放的时候。 这些对象中的每一个都将具有更less的位置点,但是仍然担心这种方法的不可预见的后果,即许多GMSPolyline分配和释放的隐藏开销。 所以问题是,处理这种情况的最好方法是什么?谷歌的某个人可以对GMSPolyline最佳实践,上限,瓶颈等方面GMSPolyline ?
可能重复: GPS坐标以度来计算距离 如何在gmap中使用latitude-longitude在gmap中计算两地之间的距离? 使用gmap中的纬度经度来计算两地之间的距离
给定纬度+经度位置的数据库,例如40.8120390,-73.4889650,我将如何find特定位置给定距离内的所有位置? 从数据库中select所有的位置,然后逐个地通过它们,从起始位置开始,看看它们是否在指定的距离内,似乎效率不高。 有没有一种很好的方法来缩小数据库中最初select的位置? 一旦我有了(或者没有?)一个缩小的位置,我还是一个接一个地检查距离,还是有更好的办法? 我这样做的语言并不重要。 谢谢!
每次我运行应用程序,我的SecurityException被抛出,debugging器的错误读取如下: java.lang.SecurityException:“gps”位置提供程序需要ACCESS_COARSE_LOCATION或ACCESS_FINE_LOCATION权限。 这似乎是一个简单的错误,但是,我的清单文件是完全正确的。 在这里,这里是我的MapActivity代码: <?xml version="1.0" encoding="utf-8"?> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" /> <uses-permission android:name="com.dev.cromer.jason.coverme.permission.MAPS_RECEIVE" /> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name=".MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" /> <meta-data android:name="com.google.android.maps.v2.API_KEY" android:value= "@string/google_maps_key" […]
我正在尝试在iOS应用程序中获取用户位置。 我首先在我的项目中包含了corelocation框架。 然后在一个button上单击我调用核心位置API如下。 当我试图在设备中安装时,核心位置永远不会请求用户权限。 当我尝试获取button上的位置点击,我得到kCLAuthorizationStatusNotDetermined作为authorisationStatus。 请帮助我。 我不知道发生了什么事。 – (IBAction)fetchLessAccurateLocation:(id)sender { [self.txtLocation setText:@""]; locationManager = [[CLLocationManager alloc] init]; locationManager.delegate = self; locationManager.desiredAccuracy = kCLLocationAccuracyKilometer; locationManager.distanceFilter = 1000; if ([self shouldFetchUserLocation]) { [locationManager startUpdatingLocation]; } } 这是我的shouldFetchUserLocation方法: -(BOOL)shouldFetchUserLocation{ BOOL shouldFetchLocation= NO; if ([CLLocationManager locationServicesEnabled]) { switch ([CLLocationManager authorizationStatus]) { case kCLAuthorizationStatusAuthorized: shouldFetchLocation= YES; break; case kCLAuthorizationStatusDenied: { […]