MapboxGL JS возвращает различные результаты запроса querySourceFeatures для начальной и конечной точек геометрических линий с векторными плитками - PullRequest
0 голосов
/ 11 июня 2019

В настоящее время я пытаюсь получить начальную и конечную точки векторной геометрии мозаичной линии от Geoserver.

В следующем разделе приведен код, используемый для получения этих значений:

    this.featuresMap.set(finalURL, this.mapService.map.querySourceFeatures(this.cId, { sourceLayer: finalURL }));
      startFeature = this.featuresMap.get(finalURL)[0]; //First entity
      startFeature['properties']['order'] = 0;
      endFeature = this.featuresMap.get(finalURL)[this.featuresMap.get(finalURL).length - 1]; //Latest entity
      endFeature['properties']['order'] = 1;

      this.objectMap.addSource(finalURL + 'startEndPoints', {
        "type": "geojson",
        "data": {
          "type": "FeatureCollection",
          "features": [startFeature, endFeature]
        }
      });

      this.objectMap.addLayer({
        "id": finalURL + 'startEndPoints_layer',
        "type": "circle",
        "source": finalURL + 'startEndPoints',
        "paint": {
          "circle-radius": 6,
          "circle-color": [
            "case",
            ["==", ['get', 'order'], 0], "blue",
            ["==", ['get', 'order'], 1], "red",
            "black"
          ]
        },
      });

Результаты различаются, когда вы показываете / скрываете один конкретный слой, потому что местоположение точки различается при каждом изменении видимости слоя.

Может быть связано с векторными плитками и уровнем масштабирования, или, возможно, ссобытие / жизненный цикл карты, где выполняется код?

...