Ios 偏向Google将结果放在特定区域
我正在使用官方创建地址查找 在安卓版本中,我可以根据自己的区域来调整结果 例如,键入“123 Main St”首先显示我所在城镇的Main St,然后再显示其他结果 在iOS中,我不知道如何做到这一点。我正在使用带有Ios 偏向Google将结果放在特定区域,ios,objective-c,google-places-api,gmsautocomplete,Ios,Objective C,Google Places Api,Gmsautocomplete,我正在使用官方创建地址查找 在安卓版本中,我可以根据自己的区域来调整结果 例如,键入“123 Main St”首先显示我所在城镇的Main St,然后再显示其他结果 在iOS中,我不知道如何做到这一点。我正在使用带有GMSAutocompleteViewController委托的“添加全屏控件” 有一个GMSCoordinateBounds,但示例是地图。我没有用地图 我已经修补过类似的东西,但无法让它工作。我走对了吗 - (void) placeAutocomplete : (NSString
GMSAutocompleteViewController
委托的“添加全屏控件”
有一个GMSCoordinateBounds
,但示例是地图。我没有用地图
我已经修补过类似的东西,但无法让它工作。我走对了吗
- (void) placeAutocomplete : (NSString*) location : Bounds:(GMSCoordinateBounds *)bounds{
[_placesClient autocompleteQuery:location
bounds:bounds
filter:filter
callback:^(NSArray *results, NSError *error) {
if (error != nil) {
NSLog(@"Autocomplete error %@", [error localizedDescription]);
return;
}
for (GMSAutocompletePrediction* result in results) {
NSLog(@"Result '%@' with placeID %@", result.attributedFullText.string, result.placeID);
}
}];
}
有任何帮助吗?您可以直接在
GMSAutocompleteViewController
上设置界限,例如:
// Present the Autocomplete view controller when the button is pressed.
@IBAction func autocompleteClicked(_ sender: UIButton) {
let autocompleteController = GMSAutocompleteViewController()
autocompleteController.delegate = self
// Set bounds to inner-west Sydney Australia.
let neBoundsCorner = CLLocationCoordinate2D(latitude: -33.843366,
longitude: 151.134002)
let swBoundsCorner = CLLocationCoordinate2D(latitude: -33.875725,
longitude: 151.200349)
let bounds = GMSCoordinateBounds(coordinate: neBoundsCorner,
coordinate: swBoundsCorner)
autocompleteController.bounds = bounds
present(autocompleteController, animated: true, completion: nil)
}
基于您的位置创建边界,并将其设置为
GMSAutocompleteViewController的边界
func presentAddressFinder(){
let autocompleteController = GMSAutocompleteViewController()
autocompleteController.delegate = self
let bounds = GMSCoordinateBounds()
autocompleteController.autocompleteBounds = bounds.includingCoordinate(currentLocation)
present(autocompleteController, animated: true, completion: nil)
}
此处
currentLocation
是CLLocationCoordinate2D中的当前设备位置代码>谢谢,但是如何计算边界框的纬度/经度?你是不是正盯着你所在的中心并向外扩展20英里?我不知道上面的代码(谷歌开发网站上的copypasta),但是如果你想计算一个围绕一个Latling点的20英里边界框,SphereCalutil中的方法会有帮助()