2009-12-07 24 views
1

由于有3代iPhone,他们的地理定位(WiFi,GPS,其他方式?)的机制是什么?我最近在做iPhone开发,所以我想深入了解这一点。iPhone如何进行地理定位?

(我想要定位的所有方法和具体的介绍名单)

谢谢

回答

5

iPhone/iPodTouch非GPS地理位置引擎由Skyhook Wireless提供。他们使用地理位置面包车驱动大多数城市的大部分道路,根据GPS绘制无线网点,主要是iPhone用来修复这些数据。

Skyhook使用iPhone“自我修复”其接入点数据库也很有趣。如果他们收到一个不在他们的数据库中的点,或者被认为是在其他地方,他们会优化数据。

我已经和Skyhook的Kate Imbach谈了几次这个技术,我很惊讶他们不使用GPS与WiFi三角测量结合以改善地图数据,但似乎这是不是这样。

也就是说,您的问题的具体方法部分是一个不同的故事:iPhone SDK将所有这些从您中抽象出来。 你只需要导入CoreLocation框架到项目中,采用CLLocationManagerDelegate协议

然后实例化的LocationManager


    CLLocationManager * LM = [[CLLocationManager alloc] init]; 
    [[self locationManager] setDelegate:self]; 
    [[self locationManager] setDesiredAccuracy:kCLLocationAccuracyBest];  
    [[self locationManager] startUpdatingLocation]; 

然后,您可以查询您的LocationManager或接收更新


- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation{ 
    NSLog(@"Location changed!"); 
} 

- (void)locationManager:(CLLocationManager *)manager didFailWithError:(NSError *)error{ 
} 

那应该让你去!

+0

感谢您的回答 – 2009-12-07 09:50:20

+0

快速更新。从iOS4开始,iPhone不再使用Skyhook进行地理定位(它使用了一个现在臭名昭着的内部文件) – Andiih 2011-05-02 21:59:26

1

iPhone可以使用GPS或WIFI(使用WIFI三角测量)来定位坐标。 WIFI三角是HTML5地理位置API使用相同的过程中,更多关于无线三角测量V/S GPS(http://arstechnica.com/old/content/2008/01/where-gps-wont-do-wifi-triangulation-might.ars

GPS可以从潜伏期坐标遭受锁定在地铁或拥挤的区域,虽然无线三角测量它不吃亏并且相当准确。

简单地说,WIFI三角测量工作的原理是,ISP或地理定位器服务提供者将扫描一个区域并对坐标进行三角测量。

+0

W3C地理定位API(它不是HTML5的一部分,因为它的价值)并未指定浏览器确定用户位置的方法;尽管Firefox 3.5使用WiFi三角测量,但API本身是不可知的。 – npdoty 2009-12-07 15:17:14

相关问题