Sim*_*mon 6 google-maps ios google-maps-sdk-ios swift swift3
我浏览了Google Maps文档,该描述似乎并没有太大帮助。
我遵循的是一个旧教程,markerInfoContents但是当我使用委托时,它没有返回我期望的结果。
使用markerInfoContents:我的自定义视图似乎覆盖了默认视图
当我使用时markerInfoWindow,结果是我期望的:
我只是从xib文件中提取自定义UIView,如下所示:
func mapView(_ mapView: GMSMapView, markerInfoWindow marker: GMSMarker) -> UIView? {
let placeMarker = marker as! PlaceMarker
print(placeMarker.name)
if let infoView = UIView.viewFromNibName(name: "MarkerInfoView") as? MarkerInfoView {
infoView.nameLabel.text = placeMarker.name
return infoView
} else {
return nil
}
}
Run Code Online (Sandbox Code Playgroud)
(替换markerInfoWindow与markerInfoContents用于第一图像的结果)
有了markerInfoContents它,创建了锚点和盒子的阴影效果。使用markerInfoWindow时不会像本教程中那样创建锚点或阴影效果。
任何帮助将是巨大的!
正如发布的文档链接中提到的,当使用markerInfoContents:“如果此方法返回一个视图,它将被放置在默认信息窗口框架内。”,因此您的视图被限制在默认窗口内(这就是为什么它显示锚点和阴影)。看起来默认的信息窗口比 xib 中的 UIView 小,所以它会截断它。
使用markerInfoWindow直接显示您传递的视图,因此如果它没有锚点或阴影,则不会出现。
| 归档时间: |
|
| 查看次数: |
1848 次 |
| 最近记录: |