好的,这真的很奇怪.
我正在向运行我的应用程序的模拟器发送纬度/经度,它的坐标错误!我发送的所有内容(通过DDMS使用GPX文件,DDMS手册,或telnet并使用地理修复命令)都会收到,但是当我打印应用程序收到的纬度/经度点时,只有一点点(井)几百码到我瞄准的地方).
发现这是因为我一直在PC上测试我的应用程序,但最近购买了一台Mac.因此,我正在进行标准测试,使用GPX文件,其中我一直在PC上使用lat / long点,并且应用程序显示错误的位置.
例:
我寄这个:
geo fix geo fix -72.74 41.74
在我的应用程序onLocationChanged中,location.toString()说明了这一点:
位置[mProvider =全球定位系统,MTIME = 1287892837000,mLatitude = 41.74016776666667,mLongitude = -72.74533443333333,mHasAltitude =假,mAltitude = 0.0,mHasSpeed =假,MSPEED = 0.0,mHasBearing =假,mBearing = 0.0,mHasAccuracy =假,mAccuracy = 0.0 ,mExtras =捆绑[mParcelledData.dataSize = 4]]
我的意思是什么?同样使用Google地图进行测试,如果我选择myLocation,它会转到相同的古怪坐标,而不是我发送的实际坐标.
看起来像一些奇怪的数学或转换问题,因为数字很接近,但不准确.
再次,这一切在PC上运行良好,这意味着,在PC上它可以获得我发送的精确坐标.对于模拟器,我使用AVD管理器创建了一个avd,WVGA854,Google API Level 8.
在新的MacBook pro上运行,以及新的Eclipse Helios安装和新安装的Android SDK.
解决方法:
这似乎是DDMS中的错误.
http://code.google.com/p/android/issues/detail?id=11264