Проблема рисования карты с помощью Openlayers с использованием Vue - PullRequest
0 голосов
/ 20 апреля 2020

Я пишу приложение в Vue, в котором будет карта. Я хочу добавить несколько точек на этой карте. Код, относящийся к карте:

<div>
   <vl-map :load-tiles-while-animating="true" :load-tiles-while-interacting="true" data-projection="EPSG:4326" style="height: 400px">
     <vl-view :zoom.sync="zoom" :center.sync="center" :rotation.sync="rotation"></vl-view>
        <vl-layer-tile>
          <vl-source-osm></vl-source-osm>
        </vl-layer-tile>
        <vl-layer-vector>
          <vl-source-vector :features="points"></vl-source-vector>
        </vl-layer-vector>
   </vl-map>
</div>

Здесь points является частью данных points: [] Если я записываю точки непосредственно в данные, все работает. Например,

points: [
{
  type: 'Feature',
  geometry: {
     type: 'Point',
     coordinates: [0.0, 0.0]
  },
  properties: {}
]

показывает точку в [0, 0].

Однако мне нужно использовать метод, который вызовет несколько API, чтобы узнать точки, которые мне нужно показать. Это когда я пишу код, чтобы подготовить points к правильному значению, когда все перестает работать. Я пишу этот код в разделе mounted.

async calculatePoints () {
  this.points = // points as I want them to be
}

Но это не работает (хотя несколько раз работает). Любая идея, что здесь происходит или какой лучший способ справиться с этим?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...