iOS - лучший способ отображения карты Google в UITableViewCell

У меня есть пользовательская ячейка таблицы с картой Google (GMSMapView). Ячейка расположена в нижней части табличного представления.
Мой первый подход к отображению карты состоял в том, чтобы добавить GMSMapView в качестве подпредставления ячейки. Мой второй подход состоял в том, чтобы сделать снимок карты и добавить его в ячейку. Но в обоих случаях у меня была рывковая прокрутка табличного представления. Причиной этого была загрузка карты. Но метод startRendering сейчас устарел, поэтому у меня нет возможности его предварительно выбрать.
Есть ли какие-нибудь возможности избежать дерганий tableView?


person Stacy Smith    schedule 02.03.2016    source источник


Ответы (1)


Если ваше расположение табличного представления находится внизу, попробуйте использовать его в качестве нижнего колонтитула вашего табличного представления. Я пробовал это так:

функция 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
}
person Shakhawat Hossain Shahin    schedule 08.02.2020
comment
Я удалил ваш ключ API из вашего вопроса. Не публикуйте закрытые ключи API на общедоступных сайтах и ​​убедитесь, что вы ограничиваете их использование в соответствии с developers.google.com/maps/ - person Pagemag; 13.02.2020