it-swarm.com.ru

Как добавить 3D-объект в качестве маркера на Google Maps, как это делает Uber?

Я хочу добавить 3D-маркер для отображения автомобилей на карте с вращением, как это делает Uber, но я не могу найти никакой информации о добавлении 3D-объектов в Google Maps SDK для iOS. 

Буду признателен за любую помощь.

Видимо, никто не видит, что мы с OP видим, поэтому вот видео автомобиля Uber, поворачивающего на 90 градусов. Играйте по кадрам, и вы заметите, что это не просто поворот изображения. Либо Убер пережил проблему с ~ 360 углами каждого транспортного средства, либо это действительно 3D-модель. Создание 360 изображений каждого автомобиля кажется мне глупым.

25
Tolgahan Arıkan

Из того, что я могу сказать, они не используют трехмерные объекты. Они также не анимируют между 400 изображениями автомобиля под другим углом. Они делают смесь вращающихся изображений и анимации между ~ 50-70 изображениями автомобиля под разными углами. Иллюзия прекрасна, потому что действительно похоже, что они использовали 3D-модели автомобилей!

Посмотрите на этот GIF-файл автомобиля Uber, поворачивающего за угол ( ссылка Dropbox ):  GIF showing a Uber car turning a corner

Мы ясно видим, что тень и угол обзора автомобиля обновляются не так часто, как вращение автомобиля.

Здесь я наложил 2 изображения автомобиля под разными углами, но используя одно и то же изображение автомобиля:  Uber car images at 2 different angles

Мы видим, что карта повернута на 5 градусов, но изображение машины совершенно четкое, потому что оно не изменилось, оно было просто повернуто.

25
Felix Lapalme

Во-первых, они являются , А НЕ трехмерными объектами, если это то, на что вы ссылаетесь (хотя их можно создать (но это пустая трата времени). Это просто трехмерные изображения, созданные в Photoshop или Illustrator (в основном), которые имеют трехмерную перспективу ( Кроме того, сетчатка оптимизирована, поэтому выглядит очень четко). 

Причина, по которой вы видите, что автомобиль вращается, это потому, что UIImageView, в который удерживается изображение, поворачивается (в основном с использованием CABasicAnimation) с использованием базы вычисления вне позиции 3D устройства (та же технология используется для запуска приложений для отслеживания вашего местоположения и т.д.), Которые Вы можете использовать Базовое местоположение , чтобы получить эти данные.

Это процесс, но очень выполнимый. Удачи!

6
Farhad

Если вы хотите повернуть ваше изображение в качестве маркера. Хотите показать движущийся объект, вы можете использовать .git изображение. Это будет полная помощь для вас. 

Swift 3 

let position = CLLocationCoordinate2D(latitude: 51.5, longitude: -0.127)

//Rotate a marker
let degrees = 90.0
let london = GMSMarker(position: position)
london.title = "London"

//Customize the marker image
london.icon = UIImage(named: "YourGifImageName")
london.groundAnchor = CGPoint(x: 0.5, y: 0.5)
london.rotation = degrees
london.map = mapView

Для получения дополнительной информации Пожалуйста, проверьте здесь

0
Rex