0

我正在尝试了解休斯顿德克萨斯州和旧金山(Apple 总部)之间的距离,并且得到了一些没有意义的疯狂结果。

我在德克萨斯州休斯顿和旧金山之间得到的距离是:217.52603273007 使用两个纬度/经度坐标之间的距离属性

然后我使用以下代码尝试通过乘以 3959 来获得以英里为单位的距离

 NSNumber * distanceMiles = [NSNumber numberWithInteger:[[classified valueForKeyPath:@"distance"]intValue] * 3959];

    cell.distance.text = [NSString stringWithFormat:@"%@ miles", distanceMiles];

我得到 859103 这没有任何意义!!!

我究竟做错了什么?

加利福尼亚州旧金山和德克萨斯州休斯顿之间的距离(乘飞机)约为 1651 英里(2658 公里)。

4

1 回答 1

1

我不确定您输入的哪一部分可能是错误的,但这是我按照您链接的文档所做的。

db.geo.insert({city:"Houston",coord:[95.3631, 29.7631]})
db.geo.ensureIndex({coord:'2d'})
db.runCommand({ geoNear : "geo", near : [122.0311, 37.3231], spherical : true, maxDistance : 1})
{
    "ns" : "so.geo",
    "near" : "1110001101101100111000000110111000010111001101100110",
    "results" : [
        {
            "dis" : 0.4081109209840864,
            "obj" : {
                "_id" : ObjectId("506f9a035a6639f6e19a3dea"),
                "city" : "Houston",
                "coord" : [
                    95.3631,
                    29.7631
                ]
            }
        }
    ]
       ...
于 2012-10-06T03:09:40.823 回答