【问题标题】:How to get distance and location using zipcode in iOS? [closed]如何在 iOS 中使用邮政编码获取距离和位置? [关闭]
【发布时间】:2015-07-19 06:03:27
【问题描述】:

我正在开发一个即时消息聊天应用程序。用户必须在其中输入邮政编码,当他选择搜索选项时,他给出了一个特定的英里半径,搜索操作将通过该半径执行。所以现在我有两个邮政编码,一个是用户的,另一个是我朋友的邮政编码,我怎样才能让用户在他们和他们的位置之间的半径范围内。你能帮我如何继续以及我应该使用哪些框架来获取这些。请帮助我是 iOS 开发的新手。

【问题讨论】:

    标签: ios geolocation location distance zipcode


    【解决方案1】:

    首先,您需要使用CLGeocoder 将邮政编码/地址转换为纬度/经度位置。获得这些职位后,您可以:

    如果您想要实际距离,请使用CLLocationdistanceFromLocation:

    如果您想要行驶距离,您需要使用导航框架来获取路线,例如MKDirections

    【讨论】:

    • 你能告诉我如何或从哪里获得导航框架吗?
    • MKDirections?它是 MapKit 的一部分
    【解决方案2】:

    请参考此answer 从邮政编码获取纬度和经度。获取源和目的地的邮政编码后,您可以使用此answer 获取距离。

    请注意,这将是空中距离,而不是实际距离。您可以评估 Google Map 或 Direction API 以找到实际距离。

    【讨论】:

    • 你能建议我使用哪个框架吗?
    【解决方案3】:

    没有直接的解决方案来获取 2 个邮政编码之间的距离,但您可以使用 google API 获取邮政编码的经度,然后使用这些经度可以找到邮政编码之间的距离。

    #import <CoreLocation/CoreLocation.h>
    
     CLLocation *locA = [[CLLocation alloc] initWithLatitude:lat1 longitude:long1];
    
     CLLocation *locB = [[CLLocation alloc] initWithLatitude:lat2 longitude:long2];
    
     CLLocationDistance distance = [locA distanceFromLocation:locB];
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-04-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-01
      相关资源
      最近更新 更多