我在Objective C视图中使用Google Maps API自动填充功能,允许用户搜索地址,然后在我的应用程序的地图上显示。这工作正常并且自动完成视图加载,允许您填写它然后消失并在地址文本框中显示您的地址。地图不会定位在您的位置,而是似乎保留在之前的位置,除非您移动地图然后重新加载,它将显示您键入自动完成的地址。我将发布以下代码以进行自动完成整理并消失。
- (void)viewController:(GMSAutocompleteViewController *)viewController
didAutocompleteWithPlace:(GMSPlace *)place {
// Do something with the selected place.
// [self.locationclickText setTitle:place.name forState:UIControlStateNormal];
latitude2=place.coordinate.latitude;
longitude2=place.coordinate.longitude;
NSString *placeName=place.name;
self.address.text=placeName;
// NSString *placeID=place.placeID;
[_mapView animateWithCameraUpdate:[GMSCameraUpdate setTarget:CLLocationCoordinate2DMake(place.coordinate.latitude, place.coordinate.longitude) zoom:17]];
// NSLog(@"Place ID %@", placeID);
//NSLog(@"Place attributions %@", place.attributions.string);
[self dismissViewControllerAnimated:YES completion:nil];
}
答案 0 :(得分:0)
我可能在这里误解了你的问题。您是否在问自己为何选择地点时自动更新MapView(_mapview
)(要求您自己致电animateWithCameraUpdate
)?
如果是这样,那么答案是它按预期工作。 GMSAutocompleteViewController
的实例不会在您的应用中神奇地了解GMSMapView
,也不会尝试控制它们。