gpt4 book ai didi

ios - 如何在 ios 中使用谷歌地图实现位置搜索?

转载 作者:行者123 更新时间:2023-11-28 21:55:01 27 4
gpt4 key购买 nike

我正在构建一个 iOS 应用程序。我正在使用 Storyboard来构建屏幕,并且我在我的项目中集成了谷歌地图。

我想在 map 上点击并在标签中显示该位置,就像在 Airbnb 应用中一样。我无法做到这一点,有人可以帮忙吗。

这是我的代码:

- (void)viewDidLoad {
[super viewDidLoad];
GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:-33.86
longitude:151.20
zoom:6];
mapView_ = [GMSMapView mapWithFrame:CGRectZero camera:camera];

mapView_.myLocationEnabled = YES;
self.view = mapView_;
GMSMarker *marker = [[GMSMarker alloc] init];
marker.position = CLLocationCoordinate2DMake(-33.86, 151.20);
marker.title = @"Sydney";
marker.snippet = @"Australia";
marker.map = mapView_;
}

感谢您的帮助!

最佳答案

您必须为此使用GMSMapViewDelegate 协议(protocol)。准确地说,方法 mapView:didTapAtCoordinate: 将执行您需要的操作并检测 map 上的点击并为您提供点击的坐标。

要使用该方法,请在您的 viewDidLoad 中添加以下行:

mapView_.delegate = self;

然后在同一个类中实现方法:

- (void)mapView:(GMSMapView *)mapView didTapAtCoordinate:(CLLocationCoordinate2D)coordinate{
// coordinate contains your coordinate :)
NSLog(@"did tap at coordinate: (%f, %f)", coordinate.latitude, coordinate.longitude);
}

更新:要添加标记,您可以执行以下操作:

- (void)mapView:(GMSMapView *)mapView didTapAtCoordinate:(CLLocationCoordinate2D)coordinate{
// coordinate contains your coordinate :)
NSLog(@"did tap at coordinate: (%f, %f)", coordinate.latitude, coordinate.longitude);

// Create the marker and add it to the map
CLLocationCoordinate2D position = CLLocationCoordinate2DMake(coordinate.latitude, coordinate.longitude);
GMSMarker *marker = [GMSMarker markerWithPosition:position];
marker.appearAnimation = kGMSMarkerAnimationPop;
marker.map = mapView_;

// Zoom into the current location
GMSCameraPosition *cameraPosition = [GMSCameraPosition cameraWithTarget:position zoom:15.0];
[mapView_ animateToCameraPosition:cameraPosition];
}

关于ios - 如何在 ios 中使用谷歌地图实现位置搜索?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26867878/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com