新 GMSMapView 不工作,但旧 GMSMapView 加载正常
New GMSMapView not working, but old GMSMapView loading properly
当我创建一个新的 GMSMapView 时,它没有加载。我的项目中还有其他 GMSMapViews 可以正确加载。我正在使用故事板编辑器将 GMSMapView 的自定义子类分配给 UIView。为什么新的不起作用?
我通过查看故事板文件的源代码找到了解决此问题的方法。
我的旧 GMSMapViews 看起来像这样:
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO"
id="hbm-BT-3Ow" customClass="GMSMapView">
我的新产品是这样的:
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO"
id="alb-9Z-Vu8" customClass="GMSMapView"
customModule="{My Project Name}" customModuleProvider="target">
当我将自定义 class 设置为新 UIView 的 GMSMapView 时,关联的模块是 'my project' 而不是之前的 'none'。
问题是我在我的项目中为 GMSMapView 创建了自定义扩展。
extension GMSMapView {
var visibleBounds: GMSCoordinateBounds {
return GMSCoordinateBounds(region: self.projection.visibleRegion())
}
}
解法:
将 extension GMSMapView
更改为 extension GoogleMaps.GMSMapView
解决了我的问题。
当我创建一个新的 GMSMapView 时,它没有加载。我的项目中还有其他 GMSMapViews 可以正确加载。我正在使用故事板编辑器将 GMSMapView 的自定义子类分配给 UIView。为什么新的不起作用?
我通过查看故事板文件的源代码找到了解决此问题的方法。
我的旧 GMSMapViews 看起来像这样:
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO"
id="hbm-BT-3Ow" customClass="GMSMapView">
我的新产品是这样的:
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO"
id="alb-9Z-Vu8" customClass="GMSMapView"
customModule="{My Project Name}" customModuleProvider="target">
当我将自定义 class 设置为新 UIView 的 GMSMapView 时,关联的模块是 'my project' 而不是之前的 'none'。
问题是我在我的项目中为 GMSMapView 创建了自定义扩展。
extension GMSMapView {
var visibleBounds: GMSCoordinateBounds {
return GMSCoordinateBounds(region: self.projection.visibleRegion())
}
}
解法:
将 extension GMSMapView
更改为 extension GoogleMaps.GMSMapView
解决了我的问题。