IOS谷歌地图sdk中的自定义信息窗口

作为一名新的IOS开发人员,我真的很难找到基本的工作。

我需要在谷歌地图sdk for ios上点击标记时显示这种自定义信息窗口。

在此处输入图像描述

任何帮助,将不胜感激。

我已经看过第三方组件,但即使有了它们,我也无法显示它。 总是有标题,片段,左图像和右图像部分。 真正的问题是如何在窗口中获得金星评级,旁边有文字。

我在GoogleMapsSdk for iOS中遇到了同样的问题窗口自定义问题很多天,感到很沮丧并且做到了我自己!

清洁,完全可自定义和自己的UIControls与您的自定义操作代码可以在Github上找到这里

快乐编码:)

根据需要制作Xib …设置文本和图像

设置委托GMSMapViewDelegate

-(UIView *)mapView:(GMSMapView *)mapView markerInfoWindow:(GMSMarker *)marker{ CustomInfoWindow *infoWindow=[[[NSBundle mainBundle] loadNibNamed:@"InfoWindow" owner:self options:nil] objectAtIndex:0]; return infoWindow; } 

https://www.youtube.com/watch?v=ILiBXYscsyY获取更多帮助,请看这个video..由谷歌开发

最后使用SMCalloutView @ https://github.com/nfarina/calloutview

Swift 3.0解决方案

Google Map CustomInfoWindow

 //empty the default infowindow func mapView(_ mapView: GMSMapView, markerInfoWindow marker: GMSMarker) -> UIView? { return UIView() } // reset custom infowindow whenever marker is tapped func mapView(_ mapView: GMSMapView, didTap marker: GMSMarker) -> Bool { customInfoView.removeFromSuperview() // customInfoView.button.addTarget(self, action: #selector(buttonTapped(_:)), for: .touchUpInside) self.view.addSubview(customInfoView) // Remember to return false // so marker event is still handled by delegate return false } // let the custom infowindow follows the camera func mapView(_ mapView: GMSMapView, didChange position: GMSCameraPosition) { if (locationMarker != nil){ let location = locationMarker.position customInfoView.center = mapView.projection.point(for: location) } } // take care of the close event func mapView(_ mapView: GMSMapView, didTapAt coordinate: CLLocationCoordinate2D) { customInfoView.removeFromSuperview() }