Fre*_*ame 8 geolocation core-location ios ios9
代码重现问题:
-(void)testDistance {
NSLog(@"Test distance...");
CLLocation *location1 = [[CLLocation alloc] initWithLatitude:137.02954600000001 longitude:50.543728999999999];
CLLocation *location2 = [[CLLocation alloc] initWithLatitude:55.79676300 longitude:49.10834400];
CLLocationDistance distance = [location1 distanceFromLocation:location2];
NSLog(@"Distance: %lf", distance);
}
Run Code Online (Sandbox Code Playgroud)
iOS 8.4输出:
距离:9021699.415204
iOS 9.1输出:
距离:0.000000
location1而且location2不是零.
我在SO搜索了一个类似的问题,但找不到一个.对我来说看起来像iOS 9的bug.你同意吗?你得到类似的结果吗?我想向Apple发送一个错误报告,但我想先确认一下.
我在模拟器上运行代码(iOS 8.4和iOS 9.1).系统语言设置为俄语,该地区设置为俄罗斯.
更新: lat和lon原来进行混合.纬度应位于[-90,90]范围内.在以前的iOS版本中,它仍然产生了一些结果.在iOS 9中,他们让它回归0.对于这种情况,我不认为这是一个很好的回报值,因为它是一个完全有效的值.我认为他们应该返回一些错误代码(就像他们那样做nil,返回-1).至少,它必须在文档中提到.我打算在不久的将来提交错误报告.
检查location1的纬度值。我想纬度范围(-90,90)有一些不匹配。
| 归档时间: |
|
| 查看次数: |
763 次 |
| 最近记录: |