У меня есть пользовательская ячейка таблицы с картой Google (GMSMapView). Ячейка расположена в нижней части табличного представления.
Мой первый подход к отображению карты состоял в том, чтобы добавить GMSMapView в качестве подпредставления ячейки. Мой второй подход состоял в том, чтобы сделать снимок карты и добавить его в ячейку. Но в обоих случаях у меня была рывковая прокрутка табличного представления. Причиной этого была загрузка карты. Но метод startRendering сейчас устарел, поэтому у меня нет возможности его предварительно выбрать.
Есть ли какие-нибудь возможности избежать дерганий tableView?
iOS - лучший способ отображения карты Google в UITableViewCell
Ответы (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
Я удалил ваш ключ API из вашего вопроса. Не публикуйте закрытые ключи API на общедоступных сайтах и убедитесь, что вы ограничиваете их использование в соответствии с developers.google.com/maps/
- person Pagemag; 13.02.2020