如何将 GMSMapView 添加到视图的一部分 swift 4
How to add GMSMapView to a portion of a view in swift 4
我想将 GMSMapView 添加到 currentView 作为子视图但是它显示黑页这里是我的代码
let viewTest = UIView()
viewTest.frame = CGRect.init(x: 16, y: 50, width: 300, height: 100)
let camera = GMSCameraPosition.camera(withLatitude: -33.86, longitude: 151.20, zoom: 6.0)
let mapView = GMSMapView.map(withFrame: CGRect.zero, camera: camera)
mapView.delegate = self
// Creates a marker in the center of the map.
let marker = GMSMarker()
marker.position = CLLocationCoordinate2D(latitude: -33.86, longitude: 151.20)
marker.title = "Sydney"
marker.snippet = "Australia"
marker.map = mapView
viewTest.addSubview(mapView)
如果我将 viewTest.addSubview(mapView)
更改为 self.view = mapView
,它可以正常显示在我的整个视图中的地图。
如果我改变viewTest = mapView
。我得到一个没有地图显示的白屏,并出现以下错误。
" current[11927:300222] [BoringSSL] Function nw_protocol_boringssl_input_finished: line 1436 Peer disconnected during the middle of a handshake. Sending errSSLFatalAlert(-9802) alert
2018-06-23 00:56:12.499396-0400 current[11927:300222] TIC TCP Conn Failed [1:0x604000179c80]: 3:-9802 Err(-9802)
"
您可以创建视图的 IBOutlet
并将其 class 设置为 GMSMapView
。
为此创建 属性。
@IBOutlet weak var view_mapContainer: GMSMapView!
最后你可以设置它的属性了。
let coord = CLLocationCoordinate2D(latitude: 12.123312, longitude: 76.123123) //set lat long of the location you want to set
self.view_mapContainer.camera = GMSCameraPosition(target: coord, zoom: 13, bearing: 0, viewingAngle: 0)
let marker = GMSMarker()
marker.icon = UIImage(named: "ImageToSet")
marker.appearAnimation = GMSMarkerAnimation(rawValue: 1)!
marker.position = coord
marker.title = "any title"
marker.snippet = "any snippet"
marker.map = self.view_mapContainer
我想将 GMSMapView 添加到 currentView 作为子视图但是它显示黑页这里是我的代码
let viewTest = UIView()
viewTest.frame = CGRect.init(x: 16, y: 50, width: 300, height: 100)
let camera = GMSCameraPosition.camera(withLatitude: -33.86, longitude: 151.20, zoom: 6.0)
let mapView = GMSMapView.map(withFrame: CGRect.zero, camera: camera)
mapView.delegate = self
// Creates a marker in the center of the map.
let marker = GMSMarker()
marker.position = CLLocationCoordinate2D(latitude: -33.86, longitude: 151.20)
marker.title = "Sydney"
marker.snippet = "Australia"
marker.map = mapView
viewTest.addSubview(mapView)
如果我将 viewTest.addSubview(mapView)
更改为 self.view = mapView
,它可以正常显示在我的整个视图中的地图。
如果我改变viewTest = mapView
。我得到一个没有地图显示的白屏,并出现以下错误。
" current[11927:300222] [BoringSSL] Function nw_protocol_boringssl_input_finished: line 1436 Peer disconnected during the middle of a handshake. Sending errSSLFatalAlert(-9802) alert 2018-06-23 00:56:12.499396-0400 current[11927:300222] TIC TCP Conn Failed [1:0x604000179c80]: 3:-9802 Err(-9802) "
您可以创建视图的 IBOutlet
并将其 class 设置为 GMSMapView
。
为此创建 属性。
@IBOutlet weak var view_mapContainer: GMSMapView!
最后你可以设置它的属性了。
let coord = CLLocationCoordinate2D(latitude: 12.123312, longitude: 76.123123) //set lat long of the location you want to set
self.view_mapContainer.camera = GMSCameraPosition(target: coord, zoom: 13, bearing: 0, viewingAngle: 0)
let marker = GMSMarker()
marker.icon = UIImage(named: "ImageToSet")
marker.appearAnimation = GMSMarkerAnimation(rawValue: 1)!
marker.position = coord
marker.title = "any title"
marker.snippet = "any snippet"
marker.map = self.view_mapContainer