Xcode Swift - 在苹果地图上查看输入的邮政编码

Posted

技术标签:

【中文标题】Xcode Swift - 在苹果地图上查看输入的邮政编码【英文标题】:Xcode Swift - View entered Postcode on Apples map 【发布时间】:2016-08-15 10:51:00 【问题描述】:

我正在寻求帮助!

我有一个名为“textFieldPostcode”的文本字段和一个名为“btnViewOnMap”的UIButton

我的想法是,当用户在textFieldPostcode 中输入他们的邮政编码并按下BtnViewOnMap 按钮时,它会将用户带到 Apples Built in 地图并显示输入的邮政编码。

我看过一些关于如何使用代码打开 Apple 内置地图的教程,这些教程很有效

代码:

@IBOutlet weak var textFieldPostcode: UITextField?
@IBOutlet weak var btnViewOnMap: UIButton?

ViewDidLoad()

let tapGesture = UITapGestureRecognizer(target: self, action: #selector(viewOnMapPress))
    btnViewOnMap?.addGestureRecognizer(tapGesture)

viewOnMapPress 的功能:

func viewOnMapPress(sender: UITapGestureRecognizer)
    if (buttonError != nil)
    
        SVProgressHUD.showErrorWithStatus(buttonError?.localizedDescription)
    
    else
        UIApplication.sharedApplication().openURL(NSURL(string: "http://maps.apple.com/?")!)

    

下面的行打开了地图,并显示了一个位置,但是我怎样才能改变它以便它搜索用户输入呢?

UIApplication.sharedApplication().openURL(NSURL(string: "http://maps.apple.com/?")!)

提前致谢!

【问题讨论】:

【参考方案1】:

试试这个(将邮政编码作为查询参数发送到地图):

let stringURLSearchPostCode = "http://maps.apple.com/?q=" + self.textFieldPostcode.text
UIApplication.sharedApplication().openURL(NSURL(string: stringURLSearchPostCode)!)

【讨论】:

【参考方案2】:

请参阅本文档,其中包含在地图应用中搜索位置的 Apple 地图查询示例。

https://developer.apple.com/library/ios/featuredarticles/iPhoneURLScheme_Reference/MapLinks/MapLinks.html

但这里的问题是 Apple Maps 很可能不按邮政编码搜索。 所以首先需要通过第三方API获取位置坐标或输入的邮政编码地址。

你可以在这里找到例子

iOS Find Location (Latitude,longitude) from Zipcode

【讨论】:

以上是关于Xcode Swift - 在苹果地图上查看输入的邮政编码的主要内容,如果未能解决你的问题,请参考以下文章

无法在 swift xcode 7.1 中的地图上获取用户位置

苹果发布Xcode 7.3,Swift更新至2.2版本

如何在 Swift 5 中以编程方式在特定屏幕(即主显示器而不是外部显示器)上显示窗口? [苹果系统; Xcode 15]

如何在 Swift 中使用 Apple 地图 - 你必须使用 C 还是 Swift 可以?

Xcode 11.1 GM 发布,这可能才是真正的 Xcode 11;Swift 5.2 正式提上日程

iOS 9 从应用程序重定向到苹果地图