1 votos

Creación de polilíneas a partir de una matriz de coordenadas en OL OpenLayers 5.3.2

Estoy usando OpenLayers 5.3.2, y me gustaría crear mi propia animación de marcadores usando casi exactamente el ejemplo en https://openlayers.org/en/latest/examples/feature-move-animation.html?q=marker

Todo lo que me gustaría hacer es crear mi propia polilínea para reemplazar la utilizada en la demo. También cambiaré el punto central, pero eso lo puedo hacer por mi cuenta. No hay información sobre cómo generar una polilínea para OL 5.3.2. He leído todos los ejemplos para versiones anteriores y ninguno de ellos funciona.

Por lo que he leído, una polilínea es una matriz de matrices de coordenadas, como:

[
    [lon,lat],
    [lon,lat],
    [lon,lat],
    [lon,lat]
]

Así que he generado mi matriz para que coincida exactamente con eso. Ejemplo de los datos que he creado, almacenados en una variable global:

var currPath = 
    [
        [
            -98.907449,
            30.241299
        ],
        [
            -98.907477,
            30.241337
        ],
        [
            -98.907557,
            30.241449
        ],
        [
            -98.907636,
            30.24156
        ]
    ]

Pero a partir de aquí, no tengo ni idea de cómo proceder.

3voto

Bob Johnson Puntos 26

Podrías simplemente utilizar tu matriz de coordenadas para crear una cadena de líneas

  import LineString from 'ol/geom/LineString.js';

  var route = new LineString(currPath).transform('EPSG:4326', 'EPSG:3857');

Pero si necesitas crear una cadena de polilíneas a partir de una matriz de coordenadas

  var polyline = new Polyline({
    factor: 1e6
  }).writeGeometry(new LineString(currPath));

0 votos

¡Muchas gracias por tu ayuda Mike! Parece que mi único problema ahora es que los datos no están listos en el momento en que se llama a mi mapa. Así que cargué el array que publiqué aquí para no tener que esperar los datos en mi aplicación, ¡y funcionó! Vaya. Muchas gracias. La parte que usted proporcionó para var polyline ... ¡era la pieza que faltaba en mi puzzle!

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X