Tengo dos capas basadas en datos de FeatureCollection GeoJSON. Uno de ellos es de tipo circle y el otro es de symbol . Aquí están:
La cuestión es que, como puede ver en nuestro proyecto, usamos edificios en 3D en el mapa y necesitamos que nuestros objetos estén a cierta altura sobre el suelo. La pregunta es, ¿cómo hacer esto en Mapbox?
Esto es lo que he intentado:
Un elemento de tercera posición OPCIONAL DEBE ser la altura en metros por encima o por debajo del elipsoide de referencia WGS 84. En ausencia de valores de elevación, las aplicaciones sensibles a la altura o la profundidad DEBERÍAN interpretar las posiciones como si estuvieran a nivel local del suelo o del mar. — Especificación de GeoJSON .
Intenté establecer el tercer argumento para la geometría de una característica, que es un punto, pero no sirvió de nada. Parece que el tercer valor simplemente se está ignorando.
return { type: 'Feature', id: l.id, geometry: { type: 'Point', coordinates: [l.coordinates.lng, l.coordinates.lat, 50] } }circle-translateEl desplazamiento de la geometría. Los valores son [x, y] donde los negativos indican izquierda y arriba, respectivamente.
Intenté configurar esto, pero el resultado parecía muy raro, no parecía una elevación normal.
He modificado un ejemplo de Mapbox para que puedas jugar con esto, aquí .
No hay soporte para establecer la elevación en las capas de símbolos. Consulte https://github.com/mapbox/mapbox-gl-js/issues/3993 y https://github.com/mapbox/mapbox-gl-js/issues/10483