【问题标题】:MKLocalsearchRequest nearby places WITHOUT a naturalLanguageQuery stringMKLocalsearchRequest 附近的地方没有 naturalLanguageQuery 字符串
【发布时间】:2014-09-07 01:18:30
【问题描述】:

是否可以在不提供 naturalLanguageQuery 的情况下使用 MKLocalSearchRequest 显示附近的地点?

我知道典型的路线是为此使用foursquare 或google。我都用过。

【问题讨论】:

    标签: ios mapkit mklocalsearch mklocalsearchrequest


    【解决方案1】:

    一段时间以来,我一直在尝试实现这一目标,但最接近的方法是使用 for 循环运行多个查询并将结果添加到主数组。显然效率低得令人难以置信,你取得了更大的成功吗?

    【讨论】:

    • 你是怎么做到的?您是否在循环中调用 MKLocalSearchRequest,其中包含不同搜索字符串的列表......即餐馆、酒吧、音乐会等?你能把这段代码贴出来吗?
    【解决方案2】:

    您可以按如下方式实现它以用于演示目的,但我建议在生产应用程序中使用这种方法,因为它显然可扩展。

    var nearbyPlaces: [MKMapItem] = []
    let params: [String] = ["bar", "shop", "restaurant", "cinema"]
    let request = MKLocalSearchRequest()
    let span = MKCoordinateSpan(latitudeDelta: CLLocationDegrees(exactly: 1000)!, longitudeDelta: CLLocationDegrees(exactly: 1000)!)
    let region = MKCoordinateRegion(center: coord, span: span)
    request.region = region
    
    for param in params {
    
            request.naturalLanguageQuery = param    
            let places = MKLocalSearch(request: request)
            places.start { [unowned self] response, error in
               guard let result = response else { return }
               self.nearbyPlaces.append(contentsOf: result.mapItems)
            }
    
    }
    

    【讨论】:

      猜你喜欢
      • 2023-01-25
      • 1970-01-01
      • 2020-01-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-15
      • 2023-03-25
      相关资源
      最近更新 更多