使用iPhone6,Xcode8.1,运行iOS10.1.1,执行以下Swift代码,我在这段简单的代码中间歇性地收到fatalerror:unexpectedlyfoundnilunwrappingOptionalvalue。它在大约50%的时间里没有错误地工作,这让我相信它在某种程度上与搜索调用需要更长时间才能完成有关,正如我发现的类似MapKit问题的一些解决方案中所建议的那样。但是错误似乎发生在不包含可选值的完成处理程序中,所以我不明白我怎么会得到零结果。代码片段和控制台输出如下所示。任何见解将不胜感激。classViewController:UIViewController,
我有一个搜索设置,它在UITableVIew中显示MKLocalSearchRequest的响应我想从每次搜索的响应中清除所有响应。到目前为止,这是我在这篇文章的启发下实现的目标MultipleLocationsonMap(usingMKMapItemandCLGeocoder)这是我的代码。@interfaceViewController()@property(nonatomic,strong)UISearchDisplayController*searchController;@property(nonatomic,strong)UISearchBar*searchBar;@pro
我正在尝试从MKLocalSearch重新创建/获取相同的搜索列表,但没有成功。我尝试了很多关于区域、半径、增量的选项。但我的结果与AppleMaps应用程序不同。苹果map的结果对于搜索地点的所有想法来说都更好。我用了MapSearch例如来自Apple文档的应用程序和选项MKLocalSearchRequest*request=[[MKLocalSearchRequestalloc]init];request.naturalLanguageQuery=searchString;request.region=MKCoordinateRegionMakeWithDistance(CLL
我尝试使用AppleGeoCoderDemo进行正向地理编码。我尝试使用“WalmartMichigan”,与设备上的苹果原生map应用相比,返回的结果完全不同。搜索stackOverflow后,我知道CLGeocoder只能进行地址搜索,而不能进行地址/公司名称搜索,这意味着在我的案例中,它正在寻找包含密歇根州沃尔玛的街道名称。但是我很想知道为什么苹果的原生map可以完美地完成工作。有人知道其中的secret吗?感谢所有帮助。 最佳答案 在iOS6.1中,Apple向我们展示了MKLocalSearch,这是一个真正的搜索功能,类
我的代码与以下示例几乎相同:https://github.com/iamamused/Example-MKLocalSearch.git这里是重要的部分:@interfaceViewController:UIViewController@property(strong,nonatomic)IBOutletMKMapView*ibMapView;@end@implementationViewController{MKLocalSearch*localSearch;MKLocalSearchResponse*results;}-(void)searchBarSearchButtonClic
我正在使用MKLocalSearch执行map搜索。我的问题是响应中MKMapItems的排序。例如,搜索我当前所在的城市会首先返回一些与城市名称相关的商家,我必须向下滚动一段时间才能找到实际的城市。我正在使用MKLocalSearchRequest的region属性将搜索集中在附近区域。我的问题是:你能影响回复给你的顺序吗?例如,map应用程序会在输入第一个字母后将我所在的城市列在顶部。为什么没有POI:s或企业列在顶部?有没有一种方法可以从搜索中完全删除商家,而只获取地址作为响应?不确定是否相关,但这是搜索代码:-(void)issueLocalSearchLookup:(NSSt
我的应用目前有一个本地搜索,它为搜索结果添加了注释。我想将其设置为当您选择注释并单击标注按钮时,它将在map应用程序中打开,并显示从当前设备位置到注释的方向。我在这方面遇到了一些问题。首先,我的标注上的呼出按钮没有出现。其次,我认为我没有正确检测到所选注释。这是我用于搜索和选定注释的代码:funcperformSearch(){matchingItems.removeAll()letrequest=MKLocalSearchRequest()request.naturalLanguageQuery=searchText.textrequest.region=mapView.region
为了避免foursquare或其他本地搜索提供商之一的API限制,我想使用iOS6.1中的MKLocalSearch。以下代码:MKLocalSearchRequest*localSearchRequest=[[MKLocalSearchRequestalloc]init];MKCoordinateRegionlocalSearchRegion=MKCoordinateRegionMakeWithDistance(CLLocationCoordinate2DMake([theLocationChange.latitudefloatValue],[theLocationChange.lo
为了避免foursquare或其他本地搜索提供商之一的API限制,我想使用iOS6.1中的MKLocalSearch。以下代码:MKLocalSearchRequest*localSearchRequest=[[MKLocalSearchRequestalloc]init];MKCoordinateRegionlocalSearchRegion=MKCoordinateRegionMakeWithDistance(CLLocationCoordinate2DMake([theLocationChange.latitudefloatValue],[theLocationChange.lo
我在mkmapview的某个区域内实现了MKLocalSearch,它返回该区域内的一系列餐馆。通过研究,只显示了10家餐厅。有没有办法让MKLocalSearch可以返回一个地区内超过10家餐厅?这是代码,MKLocalSearchRequest*request=[[MKLocalSearchRequestalloc]init];request.naturalLanguageQuery=@"restaurant";request.region=midRegion;MKLocalSearch*localSearch=[[MKLocalSearchalloc]initWithReques