- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在构建一个简单的应用程序,允许用户保存他们的位置以备后用。
目标:用户在公司时输入他们的地址,我们保存公司名称
我的方法:我从 locationManager 请求位置。然后我将 CLLocation 反向地理编码为 CLPlacemark。由于地标无法识别商家名称,因此我开始使用 MKLocalSearch 搜索“附近的餐馆”。 response.mapItems 返回完全不同城市的位置。
我已指定区域并验证地标是否正确返回了用户地址。所以,我认为问题在于 MKLocalSearch。
为什么返回不同城市的结果?
已更新:来自 View Controller 的所有代码
class ViewController: UIViewController {
let locationManager = CLLocationManager()
var places = [MKMapItem]()
let naturalLanguageQuery = "closest places to eat"
let queries = ["restaurants", "places to eat", "breakfast", "lunch", "dinner"]
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading here
locationManager.delegate = self
locationManager.desiredAccuracy = kCLLocationAccuracyBest
}
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
if CLLocationManager.authorizationStatus() == .notDetermined {
locationManager.requestWhenInUseAuthorization()
}
}
@IBAction func getLocation() {
if CLLocationManager.authorizationStatus() == .authorizedWhenInUse {
locationManager.requestLocation()
}
}
func add(placemark: CLPlacemark) {
search(placemark: placemark, index: self.queries.count - 1)
}
func searchCompleted(placemark: CLPlacemark) {
guard let foo = Scraper.shared.sortByDistance(userPlacemark: placemark, items: places) else { return }
for item in Scraper.shared.filterForUnique(items: foo) {
print(item)
if item.placemark.addressString == placemark.addressString {
}
}
}
func search(placemark: CLPlacemark, index: Int) {
let request = MKLocalSearchRequest()
guard let coordinate = placemark.location?.coordinate else { return }
request.region = MKCoordinateRegionMakeWithDistance(coordinate, 1600, 1600)
request.naturalLanguageQuery = queries[index]
MKLocalSearch(request: request).start { (response, error) in
guard error == nil else { return }
guard let response = response else { return }
guard response.mapItems.count > 0 else { return }
for item in response.mapItems {
self.places.append(item)
}
if index != 0 {
self.search(placemark: placemark, index: index - 1)
} else {
self.searchCompleted(placemark: placemark)
}
}
}
}
extension ViewController: CLLocationManagerDelegate {
func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
let geocoder = CLGeocoder()
if let loc = locations.last {
geocoder.reverseGeocodeLocation(loc) { (placemarks, error) in
if let error = error {
print("error")
} else {
if let placemark = placemarks?.first {
print(placemark.debugDescription)
self.add(placemark: placemark)
}
}
}
}
}
func locationManager(_ manager: CLLocationManager, didFailWithError error: Error) {
print(error.localizedDescription)
}
}
最佳答案
鉴于您的代码,您的逻辑似乎是正确的,但根据位置的不同,您可能无法获得想要的结果。 Apple 的 MKCoordinateRegion
文档指出“指定区域并不能保证结果都在该区域内。这只是对搜索引擎的提示。” MKLocalSearch Documentation
关于swift - 为什么 MKLocalSearch for "nearby restaurants"返回的位置在不同的城市?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52209447/
使用php设计餐厅系统是否可取甚至可能?系统需要一个人下订单,并打印给厨师和经理,订单一直待处理,直到柜台结账。 我担心的不是系统规范,而是 php 实现它的能力,尤其是在下订单后命令打印选项时。我想
我面临这个问题,我想将数据插入餐馆,但它一直显示错误 namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Http
我正在构建一个简单的应用程序,允许用户保存他们的位置以备后用。 目标:用户在公司时输入他们的地址,我们保存公司名称 我的方法:我从 locationManager 请求位置。然后我将 CLLocati
我目前正在使用 MKLocalSearch 来搜索位置。我注意到在Apple Map中,搜索结果中会显示一些图标,表示该位置是餐厅、机场或医院。我也想实现该功能。所以我只想知道我们是否可以从MKLoc
题目地址:https://leetcode-cn.com/contest/weekly-contest-185/problems/reformat-the-string/ 题目描述 给你一个数组
我想通过使用 python 3.5 和带有 Google Places API 的模块 googleplaces 获取伦敦的所有餐馆。我阅读了 googleplaces 文档并在此处搜索,但我不明白。
对于标题写得不好,我深表歉意。我不知 Prop 体该怎么写。我有一个数组。我需要从数组中随机抓取三个项目。只有一个项目可以是“餐厅”,并且餐厅只能排在第三位。 让我用一个例子来解释一下。这是一个示例数
图像包含两种方法,我想将 id 从 Country 表传递到 Province 表 public class DataGeneraterServlet extends HttpServlet { @E
实际上,我正在尝试制作一款允许在餐厅接受订单的应用。 您可能知道,当服务员点菜时,他可以将菜单中的任何项目添加到记录(类似于笔记本)中,甚至还可以为添加的项目添加变体。 例如,当我从菜单中按下某些项目
我有一个 MySQL 表,用于存储餐厅评级,例如: id | user_id | res_id | rating_value | review_id | 1 | 102 | 5567 |
在我的 create-react-app 项目中,我正在构建一个带有图像的 React 组件。我想通过组件属性(或状态)传递确切的图像位置。在我的组件中,我正在使用 require,如下所示: 这给
当我转到“http://127.0.0.1:8000/restaurant/sign-in/”时,我收到页面未找到(404)错误。但我可以通过“http://127.0.0.1:8000/restau
我一直在尝试在yelp fusion中实现商业搜索。但是我无法得到结果,我已经给出了类别以便进行过滤 代码: function yelpSearchReuslt(latitud
我正在将我的应用程序从 Java 转换为 Kotlin,并且在执行下面的代码时遇到 ClassCastException。想法? private fun getImageFragments(image
我得到: [2012-06-10 12:47:39 - pet_game] Launch canceled! [2012-06-10 12:49:13 - pet_game] res\drawable
我是一名优秀的程序员,十分优秀!