我想在我的应用中进行多级离线搜索。
我按照 Skobbler 官方页面的说明进行操作,唯一不同的是我下载的不是法国 map ,而是怀俄明州 map 。
如果我是对的,它的离线包代码是 USWY。
-(void)prepareForSearch{
[SKSearchService sharedInstance].searchServiceDelegate = self;
[SKSearchService sharedInstance].searchResultsNumber = 500;
_listLevel = SKCountryList;
_searchSettings = [SKMultiStepSearchSettings multiStepSearchSettings];
_searchSettings.listLevel = _listLevel;
_searchSettings.offlinePackageCode = @"USWY";
_searchSettings.parentIndex=-1;
}
- (IBAction)searchActionUIButton *)sender {
_searchSettings.searchTerm = [NSString stringWithFormat"%@",_searchBar.text];
[[SKSearchService sharedInstance]startMultiStepSearchWithSettings:_searchSettings];
}
-(void)searchServiceSKSearchService *)searchService didRetrieveMultiStepSearchResultsNSArray *)searchResults
{
if ([searchResults count] !=0 && _listLevel<SKInvalidListLevel){
if (_listLevel == SKCountryList) {
_listLevel = SKCityList;
}
else{
_listLevel++;
}
SKSearchResult *searchResult = searchResults[0];
SKMultiStepSearchSettings* multiStepSearchObject = [SKMultiStepSearchSettings multiStepSearchSettings];
multiStepSearchObject.listLevel = _listLevel++;
multiStepSearchObject.offlinePackageCode = _searchSettings.offlinePackageCode;
multiStepSearchObject.searchTerm = _searchBar.text;
multiStepSearchObject.parentIndex = searchResult.identifier;
[[SKSearchService sharedInstance]startMultiStepSearchWithSettings:multiStepSearchObject];
}
}
-(void)searchServiceDidFailToRetrieveMultiStepSearchResultsSKSearchService *)searchService
{
NSLog(@"Multi Level Search failed");
}
无论我输入什么作为 searchTerm,我最终都会得到“多级搜索失败”。
从此屏幕截图中,您可以看到我的怀俄明州 map 包包含在我的 SKMaps.bundle 中:
(另外,如果有人可以回答我这个问题:我的应用程序和测试应用程序的模拟器文件夹中的版本控制是不同的,我从那里下载了一个离线包。因此,出于测试目的,我创建了两个文件夹并将怀俄明州包放入两者其中(20140807 和 20140910)。对此有什么规定吗?)
可能是什么问题?
Best Answer-推荐答案 strong>
好的,几天后我设法找到了问题的根源。
首先,我发现我使用的是哪个版本,它是 20140910。
其次,由于某种原因,包含 map 的整个文件夹未被识别。因此,我将整个 SKMaps.bundle 以及来自演示应用程序的一些预先捆绑的 map (由 Skobbler 团队提供)放入我的项目中,现在一切正常。
关于ios - SKmaps 无法执行多级搜索,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/28169329/
|