iOS - 在UITableViewCell中显示谷歌地图的最佳方式

时间:2016-03-02 13:42:11

标签: ios swift google-maps uitableview gmsmapview

我的自定义tableview单元格上有谷歌地图(GMSMapView)。单元格位于表格视图的底部 我显示地图的第一种方法是将GMSMapView添加为单元格的子视图。我的第二种方法是制作地图快照并将其添加到单元格上。但是在这两种情况下我都没有滚动表格视图。它的原因是地图加载。但是方法startRendering现在已经弃用了,所以我没有可能预取它 有没有机会避免使用tableView jerking?

1 个答案:

答案 0 :(得分:0)

如果表格视图位置在底部,请尝试将其用作表格视图的页脚视图。 我是这样尝试的:

func getMapView(){

    GMSServices.provideAPIKey("YOUR_API_KEY")

    let camera = GMSCameraPosition.camera(withLatitude: pLatitude!, longitude: pLongitude!, zoom: 10.0)
    let mapView = GMSMapView.map(withFrame: CGRect.init(x: 0, y: 0, width: UIScreen.main.bounds.width, height: 250), camera: camera)

    // Using map as footerview
    propertyDetailsTable.tableFooterView = mapView

    // Creates a marker in the center of the map.
    let marker = GMSMarker()
    marker.position = CLLocationCoordinate2D(latitude: pLatitude!, longitude: pLongitude!)
    marker.title = pTitle
    marker.snippet = pCityname
    marker.icon = #imageLiteral(resourceName: "marker_2")
    marker.map = mapView

    mapView.selectedMarker = marker
}