Android设备是否使用网络时间协议(NTP)来同步时间?
在我的设备设置中,我看到一个带有以下文本"与网络同步"的复选框,但我不知道他们是否正在使用NTP.
我需要这个用于我使用GPS的学士论文.为了获得准确的GPS信号,接收器应具有精确的时钟.
我在网上找到了这个博客条目,但我不确定他是否说实话:加速NTP,Android中的GPS锁定
就像我在测试一个nexus s(4.0.4提供google play服务)和avd(4.2.2 with google api)之前遇到的问题一样,在这两种情况下,locationclient getLastLocation()总是返回null.
public class MainActivity extends Activity implements LocationListener,
GooglePlayServicesClient.ConnectionCallbacks,
GooglePlayServicesClient.OnConnectionFailedListener {
private LocationClient mLocationClient;
private LocationRequest mLocationRequest;
boolean mUpdatesRequested = false;
boolean mConnected = false;
SharedPreferences mPrefs;
SharedPreferences.Editor mEditor;
private TextView mText;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mText = (TextView) findViewById(R.id.text);
mLocationRequest = LocationRequest.create();
mLocationRequest
.setInterval(LocationUtils.UPDATE_INTERVAL_IN_MILLISECONDS);
mLocationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
mLocationRequest
.setFastestInterval(LocationUtils.FAST_INTERVAL_CEILING_IN_MILLISECONDS);
mUpdatesRequested = false;
mPrefs = getSharedPreferences(LocationUtils.SHARED_PREFERENCES,
Context.MODE_PRIVATE);
mEditor = mPrefs.edit();
mLocationClient = new LocationClient(this, this, this);
}
@Override
public …Run Code Online (Sandbox Code Playgroud) 众所周知,UIImagePickerController在选择后不会返回照片的元数据.但是,应用程序商店中的一些应用程序(Mobile Fotos,PixelPipe)似乎能够读取原始文件和存储在其中的EXIF数据,使应用程序能够从所选照片中提取地理数据.
他们似乎是通过从/ private/var/mobile/Media/DCIM/100APPLE /文件夹中读取原始文件并通过EXIF库运行它来完成此操作.
但是,我无法找到一种方法来匹配从UIImagePickerController返回的照片到磁盘上的文件.我已经探索了文件大小,但原始文件是JPEG,而返回的图像是原始UIImage,因此无法知道所选图像的文件大小.
我正在考虑制作一个哈希表并匹配每个图像的前x个像素.虽然这看起来有点过头了,但可能很慢.
有什么建议?
今天我和一位客户谈过,他想在Android上构建一个简单的导航APP!
基本上我们可以使用谷歌地图,放置一些"我们的"标记来显示一些位置(餐馆,酒店等)..我们还需要向附近的用户朋友展示!
除了我在我自己的应用程序中找不到任何有关转弯导航实现的有用信息(无需切换到Google地图应用程序)之外,所有这些都可以在Android上的Google Maps API中实现.
有人可以简单澄清 - 是否可以在Android应用程序中使用谷歌地图来创建基于GPS的转向应用程序?
谢谢
在GPS应用程序中,允许用户显示我们称为各种不同类型地图上的轨道的复杂位置点列表,每个轨道可以包含2k到10k的位置点.当在非Google地图类型上渲染轨道时,轨道会被大量剪裁,修剪和路径简化.这是为了降低内存使用率并提高性能.我们通常最终只会向OpenGL管道提交远远少于一千(聚合)转换的位置点,即使在最坏的情况下也是如此.
在整合Google Maps SDK for iOS时,我们最初尝试继续利用我们自己的OpenGL轨道渲染系统,但遇到了与OpenGL上下文冲突相关的问题(渲染工作正常,但我们无法获得GMSMapView和我们自己的内部OpenGL资源在没有人触摸已删除的内存的情况下释放.
因此,我们正在尝试利用GMSPolyline构造并让Google SDK执行轨道渲染,但我们遇到了主要的内存使用问题,并正在寻找解决它们的指导.
使用Xcode Instruments,我们在创建大约25条多线路时监控内存使用情况,总线位置总数约为23k(不是每个).在创建多线路的过程中,应用内存使用量从大约14 MB增加到大约172 MB,净峰值大约为158 MB.在创建所有多边形线之后不久,内存使用率最终下降到大约19 MB并且看起来稳定,累积净值大约为5 MB,所以看起来每个位置点需要大约220个字节(5 MB/23k点)到商店.
令我们伤心的是峰值内存使用率.虽然我们的实验室测试只用23K的位置点,在现实世界中往往有更多的人,和iOS似乎要抛弃我们的应用程序后,谷歌地图有大约450 MB消耗上的iPhone 5(而我们内部的多线大约渲染系统峰12 MB用于相同的测试用例).
显然,该GMSPolyLine结构不适用于我们需要的重量级使用.
我们尝试使用单独的自动释放池包装一些多边形线创建循环,然后在适当的位置排出这些循环,但这对内存使用没有影响.在创建多边形线并且控制返回到主运行循环之后的峰值内存使用根本没有改变.后来很明显为什么; 在创建多边形线之后,第一个DisplayLink回调之前,Google Map系统不会释放资源.
我们接下来的努力将是手动限制我们在GMSPolyline上推送的数据量,可能使用我们自己的边界测试,裁剪,修剪和最小化,而不是依靠Google Maps来有效地执行此操作.
这里的缺点是,当用户在地图上平移/缩放时,可能会分配和释放更多GMSPolyline对象.这些对象中的每一个都将具有更少的位置点,但是,我们仍然担心这种方法的无法预料的后果,许多GMSPolyline分配和解除分配的隐藏开销.
所以问题是,处理这种情况的最佳方法是什么,谷歌的某些人是否可以对任何GMSPolyline最佳实践,上限,瓶颈等有所了解?
硬编码onCreate()中的setZoom()感觉非常陈旧,我想通过最初使MapView设置缩放直到所有GeoPoints/OverlayItems在地图上可见来增强用户体验.
怎么能自动神奇地完成?
我需要仅使用GPS获得准确的海拔测量值.
我试过了Location.getAltitude(),但这非常不准确.有什么建议?
我以为我已经读过某个地方Android的GPS的准确度大约是10厘米?
有人可以验证或纠正这个吗?原因是我正在尝试开发的应用程序跟踪用户访问过的位置,这将极大地帮助我了解我可以预期的错误边际.
我想用php从图片中提取GPS EXIF标签.我正在使用exif_read_data()返回所有标签+数据的数组:
GPS.GPSLatitudeRef: N
GPS.GPSLatitude:Array ( [0] => 46/1 [1] => 5403/100 [2] => 0/1 )
GPS.GPSLongitudeRef: E
GPS.GPSLongitude:Array ( [0] => 7/1 [1] => 880/100 [2] => 0/1 )
GPS.GPSAltitudeRef:
GPS.GPSAltitude: 634/1
Run Code Online (Sandbox Code Playgroud)
我不知道如何解释46/1 5403/100和0/1?46可能是46°,但其余的尤其是0/1呢?
angle/1 5403/100 0/1
Run Code Online (Sandbox Code Playgroud)
这个结构是关于什么的?
如何将它们转换为"标准"的(如维基百科的46°56'48"N 7°26'39"E)?我想将坐标传递到谷歌地图api,以在地图上显示图片位置!
最近我把android开发作为一种爱好,并且正在寻找开发一个可以使用Google Maps查找和跟踪用户位置的应用程序.
一旦应用程序具有GPS锁定,应用程序就可以通过使用覆盖类绘制路径来跟踪其移动.
我见过像Mytracks这样的类似应用程序是开源的但是现在它们对我来说太复杂了.
理想情况下,我喜欢创建一个看起来像这样的应用程序

他是我的代码,没有进口.
我要做的是创建一系列地理点.每次位置更改时,都会创建一个新的地理点.然后我尝试使用for循环迭代每个geopoint并在它们之间绘制路径.
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);
// locman.requestLocationUpdates(provider,60000, 100,loclis);
// Location = locman.getLastKnownLocation(provider);
}
/** Find and initialize the map view. */
private void initMapView() {
map = (MapView) findViewById(R.id.map);
controller = …Run Code Online (Sandbox Code Playgroud) gps ×10
android ×7
exif ×2
location ×2
altitude ×1
cocoa-touch ×1
dictionary ×1
google-maps ×1
ios ×1
iphone ×1
metadata ×1
navigation ×1
ntp ×1
optimization ×1
php ×1
time ×1
tracking ×1