首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在swift中从MKLocalSearch对象中检索第一个“mapItem”元素

在swift中从MKLocalSearch对象中检索第一个“mapItem”元素
EN

Stack Overflow用户
提问于 2019-02-22 03:36:43
回答 1查看 86关注 0票数 -1

首先,我想说我是swift语言的新手。

我的问题几乎反映了这个问题: Accessing MKLocalSearchResponse item (swift)

然而,当我将它应用于类似的代码时,我得到了一个错误“类型为'MKLocalSearch‘的值没有成员'mapItems'”

就像上面的链接一样,我想要第一个mapItems (mapItems)结果。有人能帮我吗?

下面是我的代码:

代码语言:javascript
复制
    let latitude = String(currentLocation.coordinate.latitude)
    let longitude = String(currentLocation.coordinate.longitude)

    var station1Unwrapped: String! = ""
    var station2Unwrapped: String! = ""

    var coord: CLLocationCoordinate2D!
    coord = CLLocationCoordinate2DMake(currentLocation.coordinate.latitude, currentLocation.coordinate.longitude);
    var region: MKCoordinateRegion!
    region = MKCoordinateRegion(center: coord, latitudinalMeters: 100, longitudinalMeters: 100);

    let request = MKLocalSearch.Request()
    request.naturalLanguageQuery = "Train Station"
    request.region = region

    let search = MKLocalSearch(request: request)
    search.start { response, error in
        guard let response = response else {
            print("There was an error searching for: \(String(describing: request.naturalLanguageQuery)) error: \(String(describing: error))")
            return
        }

        print("Inside function")

        let station1 = response.mapItems[0].name


    }

    var newLocVar = (search.mapItems[0] as! MKMapItem).name
    print(newLocVar)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-02-22 04:36:31

变量searchMKLocalSearch,因此它没有属性mapItems。如果您想打印MKMapItem's name,您应该访问完成块中的mapItems,在这里您可以访问response,也就是MKLocalSearch.Response。您编写的let station1 = response.mapItems[0].name行是完全正确的,并且它包含找到的第一个mapItems的名称

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54814922

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档