在Google Maps SDK中的InfoWindow/Marker上添加Click事件,以获取原生iOS /目标C.

Cor*_*ona 17 objective-c onclick google-maps-markers ios google-maps-sdk-ios

简单的问题

我正在开发适用于iOS的App,我在其中嵌入了适用于原生iOS的新Google Map.一切正常,除了一个问题,我无法在这里或谷歌找到本地IOS/Objective-C的propper解决方案(如果有一个请告诉我,抱歉让你讨厌)

我想要的是:我希望用户点击打开信息窗口的标记.如果他点击或点击信息窗口,它应该打开一个新的UIView与更多的信息.

我怎样才能做到这一点?

谢谢你的建议

Bri*_*ian 84

1.符合GMSMapViewDelegate协议.

@interface YourViewController () <GMSMapViewDelegate>
// your properties
@end
Run Code Online (Sandbox Code Playgroud)

2.设置你的mapView_代表.

mapView_.delegate = self;
Run Code Online (Sandbox Code Playgroud)

3.实施GMSMapViewDelegate方法

- (void)mapView:(GMSMapView *)mapView didTapInfoWindowOfMarker:(GMSMarker *)marker {
    // your code
}
Run Code Online (Sandbox Code Playgroud)

顺便说一句,marker.userData很有用.您可以将所需的数据设置到其中并在其中使用- mapView:didTapInfoWindowOfMarker:

  • 非常酷,你指出使用userData.我是iOS和Map SDK的新手,并且不知道如何使用userData.现在我知道了.谢谢!(我的案例研究:我设置为userdata url来详细查看我的REST服务中的对象视图,这是在更多视图中处理的标记源.) (2认同)