1

我正在使用官方的Google 文档来创建地址查找。

在 Android 版本中,我可以将结果偏向我所在的地区。

例如,输入“123 Main St”会首先显示我所在城镇的 Main st,然后再显示其他结果。

在 iOS 中,我不知道该怎么做。我正在与代表一起使用“添加全屏控件” 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);
                          }
                        }];
}

有什么帮助吗?

4

2 回答 2

2

您可以直接设置边界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)
}
于 2017-02-09T03:26:08.737 回答
0

根据您的位置创建边界并将其设置为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!

于 2017-11-17T10:55:17.727 回答