Último Mapbox SDK y Swift
Así que he estado luchando con esto durante 3 días ahora...
Estoy tratando de usar una matriz de coordenadas para crear una línea de pilares cilíndricos extruidos (o una "pared" sólida inclinada si tiene sentido... Pero he descubierto que esto es más difícil que solo una línea de pilares)
He leído la mayoría de los documentos de Mapbox, pero no entiendo el uso de MGLShapeSource, MGLPolygon y MGLFillExtrusionStyleLayer.
Por lo que puedo decir, uno necesita agregar un polígono a una fuente, agregar esa fuente al objeto del mapa, luego aplicar la capa de extrusión a esa fuente... Sin embargo, no puedo entender cómo hacer que eso funcione.
This is what I've managed so far, as a solid wall... But using pillars, I could adjust the height as the line goes, creating a sloping look
Cualquier consejo sería apreciado. Pegaría mi código aquí, pero es MUY complicado y demasiado después de 3 días de prueba y error. ja ja.
BONIFICACIÓN: Me gustaría animar el camino que se está creando a medida que avanza... Así que el pilar 1 aparece a cierta altura, luego el pilar dos y una altura más baja, luego el pilar 3 y así sucesivamente. Aparentemente, esto implica modificar la fuente; aunque tengo poca idea de cómo hacerlo :(
¿Hay propiedades de height individuales asociadas con los puntos en sus datos subyacentes? Su objetivo final es definitivamente posible, pero depende de si tiene o no los datos de referencia de su capa de estilo.
Desafortunadamente, el sitio de Mapbox no tiene ningún ejemplo de iOS vinculado explícitamente a esto. Pero, el ejemplo de edificios 3D sigue básicamente el mismo flujo. (es decir mapView.addSource -> MGLFillExtrusionStyleLayer -> layer.fillExtrusionHeight ).
La parte crucial en el ejemplo de construcción es usar .fillExtrusionHeight con una expresión "forKeyPath" para establecer la altura de extrusión en función de la propiedad correspondiente en sus datos:
layer.fillExtrusionHeight = NSExpression(forKeyPath: "height")Si no tiene altura dentro de sus datos subyacentes, tendrá que obtener algo para que el estilo de extrusión funcione de esta manera.
⚠️ Descargo de responsabilidad: actualmente trabajo para Mapbox ⚠️