Objective c 离我不远

Objective c 离我不远,objective-c,google-maps-api-3,core-location,Objective C,Google Maps Api 3,Core Location,我试着在附近做这样的事情: 我用谷歌api和其他一些工具在互联网上搜索了各种各样的教程,但是我找不到一个好的方法,我想我必须向谷歌api发送一个请求,它会返回一些数据,但我完全迷失在这一部分……我有我想要发送的所有地址,但只有它。 有人知道一个好的教程或方向吗?您可以使用一个web服务,将地址转换为纬度和经度坐标,然后给定任何其他坐标对,如用户的当前位置,您可以计算它们之间的距离 我不知道计算的数学原理,但快速搜索后发现:您可以使用web服务将地址转换为纬度和经度坐标,然后给定任何其他坐标对,

我试着在附近做这样的事情:

我用谷歌api和其他一些工具在互联网上搜索了各种各样的教程,但是我找不到一个好的方法,我想我必须向谷歌api发送一个请求,它会返回一些数据,但我完全迷失在这一部分……我有我想要发送的所有地址,但只有它。
有人知道一个好的教程或方向吗?

您可以使用一个web服务,将地址转换为纬度和经度坐标,然后给定任何其他坐标对,如用户的当前位置,您可以计算它们之间的距离


我不知道计算的数学原理,但快速搜索后发现:

您可以使用web服务将地址转换为纬度和经度坐标,然后给定任何其他坐标对,如用户的当前位置,您可以计算它们之间的距离


我不知道计算的数学原理,但快速搜索后发现:

您可以使用Core Location API计算两个地理点之间的距离

基于地址查找地理位置的过程称为前向地理编码,iOS不支持该过程

用于:

许多地理编码服务允许您在任何一种情况下执行转换 方向,但iOS目前只支持反向地理编码 将纬度和经度转换为地标。如果你想 将placemark信息转换为纬度和经度-一个过程 称为前向地理编码,您需要找到合适的 要使用的第三方服务

因为您有地址,所以可以使用执行前向地理编码。 您可以发送如下请求:

然后解析位置并创建一个带有纬度和经度的CLLocation对象

此时,您解决了查找目标地理位置的问题。现在,您需要做的就是使用Core location获取用户当前位置,使用类似于创建位置管理器的内容:

- (void)getLocation 
{
  _clManager = [[CLLocationManager alloc] init];
  _clManager.delegate = self;
  if  (! [CLLocationManager locationServicesEnabled]) 
      return; 

  [_clManager startUpdatingLocation]; 
}
并在更新用户位置时计算距离:

- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation                                            
{ 
    CLLocationDistance distance = [newLocation distanceFromLocation:<destiny_location>];
    [_clManager stopUpdatingLocation]; 
    [self.tableView reloadData];
}
-(void)locationManager:(CLLocationManager*)manager didUpdateToLocation:(CLLocation*)newLocation fromLocation:(CLLocation*)oldLocation
{ 
CLLocationDistance=[newLocation distanceFromLocation:];
[[u CLU管理器停止更新位置];
[self.tableView重载数据];
}

返回的距离将以米为单位。它测量从用户位置到目标点的直线。

您可以使用Core location API计算两个地理点之间的距离

基于地址查找地理位置的过程称为前向地理编码,iOS不支持该过程

用于:

许多地理编码服务允许您在任何一种情况下执行转换 方向,但iOS目前只支持反向地理编码 将纬度和经度转换为地标。如果你想 将placemark信息转换为纬度和经度-一个过程 称为前向地理编码,您需要找到合适的 要使用的第三方服务

因为您有地址,所以可以使用执行前向地理编码。 您可以发送如下请求:

然后解析位置并创建一个带有纬度和经度的CLLocation对象

此时,您解决了查找目标地理位置的问题。现在,您需要做的就是使用Core location获取用户当前位置,使用类似于创建位置管理器的内容:

- (void)getLocation 
{
  _clManager = [[CLLocationManager alloc] init];
  _clManager.delegate = self;
  if  (! [CLLocationManager locationServicesEnabled]) 
      return; 

  [_clManager startUpdatingLocation]; 
}
并在更新用户位置时计算距离:

- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation                                            
{ 
    CLLocationDistance distance = [newLocation distanceFromLocation:<destiny_location>];
    [_clManager stopUpdatingLocation]; 
    [self.tableView reloadData];
}
-(void)locationManager:(CLLocationManager*)manager didUpdateToLocation:(CLLocation*)newLocation fromLocation:(CLLocation*)oldLocation
{ 
CLLocationDistance=[newLocation distanceFromLocation:];
[[u CLU管理器停止更新位置];
[self.tableView重载数据];
}

返回的距离将以米为单位。它测量从用户位置到目的地的一条直线。

好的,我明白,我的问题是,发送位置的正确方法是什么?我有这个“Av Brigadeiro Faria Lima,1568,Itaim Bibi,Sao Paulo-SP”,但当我尝试时,我只返回零结果。这应该有效:)。此呼叫需要workSorry的地址和传感器参数才能重新打开帖子,但我还有最后一个问题,我几乎做了所有的事情,但当我计算距离时,它返回我,如:8261.522013,当我尝试像这样除以1000:NSLog(@“distance=%f”,(distance/1000));它给出了:-000100.000…好吧,我明白了,我的问题是,发送我想知道的位置的正确方法是什么?我有这个“Av Brigadeiro Faria Lima,1568,Itaim Bibi,Sao Paulo-SP”,但当我尝试时,我只返回我零结果。这应该有效:)。此呼叫需要workSorry的地址和传感器参数才能重新打开帖子,但我还有最后一个问题,我几乎做了所有的事情,但当我计算距离时,它返回我,如:8261.522013,当我尝试像这样除以1000:NSLog(@“distance=%f”,(distance/1000));它给出的值是:-000100.000。。。