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 - 在苹果地图上查看输入的邮政编码的主要内容,如果未能解决你的问题,请参考以下文章