Существуют ли отдельные height
свойства, связанные с точками в ваших базовых данных? Ваша конечная цель определенно возможна, но это зависит от того, есть ли у вас данные для ссылки вашим слоем стиля.
К сожалению, на сайте Mapbox нет примеров iOS, явно связанных с этим. Но пример трехмерных зданий в основном повторяет один и тот же поток. (то есть mapView.addSource -> MGLFillExtrusionStyleLayer -> layer.fillExtrusionHeight
).
Ключевым битом в примере построения является использование .fillExtrusionHeight
с выражением forKeyPath для установки высоты выдавливания на основе соответствующего свойства в ваших данных:
layer.fillExtrusionHeight = NSExpression(forKeyPath: "height")
Если у вас нет высоты в ваших базовых данных, вам нужно будет получить их, чтобы стиль экструзии работал таким образом.
⚠️ Отказ от ответственности: в настоящее время я работаю в Mapbox ⚠️
Как сказал Кшиштоф, официального решения для этого нет. Однако вы можете попробовать этот обходной путь .
Лично я считаю, что это нужно делать, как запах кода. Если это ваш код, почему он не зарегистрирован в контейнере? Если это не ваш код, напишите для него factory / adapter / и т. Д.