从运营商获取位置而不是纬度/经度

4

大多数人会记得旧款的诺基亚手机,它们会显示您当前连接的区域(蜂窝塔)。

iOS上是否有此信息?如果有,如何获取此信息?

我的意思是当在纽约时,例如返回“富尔顿”作为该地区……

3个回答

1
你无法像你在iOS上描述的那样获取到基站信息,但是你可以始终使用CoreLocation框架(如果出于某种原因你还想与iOS 5.0向后兼容,则可以使用MapKit)进行反向地理编码并尽可能多地获取详细信息。
对于iOS 7.0,你可以使用CLGeocoder对象。
CLGeocoder *geocoder = [[CLGeocoder alloc] init];

[geocoder reverseGeocodeLocation:location completionHandler:^(NSArray *placemarks, NSError *error) {
    // Iterate through available placemarks
}];

位置参数是一个CLLocation对象,您将收到或为用户的位置创建的。对于反向地理编码请求,完成处理程序中的数组将仅包含单个地标。关于地标对象的各种属性及其相应的现实世界关系可以在此处找到。

谢谢你的回答,我已经实现了这个功能。我想要获取基站信息的原因是因为GPS可能无法使用,但wifi/3g可以。这样地理定位就无法工作了。我的唯一选择是跟踪未解决的位置,然后在连接恢复时进行解决。虽然这可能会变得很麻烦。所以感谢你的回答,但它并没有帮助我进一步解决问题。 - renevdkooi
据我所知,CLLocationManager API可以在没有手机信号的情况下工作。苹果公司只是将蜂窝三角定位提供给CLLocationManager作为最后的选择。 - stillmotion

0

是的,我已经阅读了那些信息,但我还是希望有可能实现。 - renevdkooi
为什么你不想使用CoreTelephony来获取信息? - Puneet Sharma

0

目前,苹果公司并未提供任何公共API来显示基站元数据。从他们处理电话API设计的方式来看,我也不认为这将成为未来的功能。

请查看:在iOS应用程序中获取基站信息?


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接