Google Maps SDK for iOS提供了一些内置的UI控件,这些控件与iOS版Google Maps应用程序中的控件类似。每个控件都有一个相对于Map边缘的预定位置。您可以通过填充Map来将控件从边缘移开。Google Map的设计目的是填充GMSMapView定义的整个区域。要在Map中添加填充,创建一个UIEdgeInsets对象,并将其传递给GMSMapView.padding属性。
// Insets are specified in this order: top, left, bottom, right
UIEdgeInsets mapInsets = UIEdgeInsetsMake(100.0, 0.0, 0.0, 300.0);
mapView.padding = mapInsets;
for object in mapView.subviews {
if object.theClassName == "GMSUISettingsView" {
for view in object.subviews {
if view.theClassName == "GMSx_QTMButton" {
var frame = view.frame
frame.origin.y = frame.origin.y - 110 // Move the button 110 up
view.frame = frame
}
}
}
}
3条答案
按热度按时间gwo2fgha1#
Google Maps SDK for iOS提供了一些内置的UI控件,这些控件与iOS版Google Maps应用程序中的控件类似。每个控件都有一个相对于Map边缘的预定位置。您可以通过填充Map来将控件从边缘移开。Google Map的设计目的是填充GMSMapView定义的整个区域。要在Map中添加填充,创建一个UIEdgeInsets对象,并将其传递给GMSMapView.padding属性。
如需了解更多信息,您可以检查相关的SO问题26968364和16879694
bkkx9g8r2#
Swift 3.0,更改按钮位置
kmynzznz3#
雨燕2.3:解决方案只移动位置按钮。我正在使用pod 'GoogleMaps','~〉2.1'。
用于获取类名的扩展。
我会尽快将此代码更新为Swift 3.0。:)
雨燕4.0: