Я пишу приложение в 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
}
Но это не работает (хотя несколько раз работает). Любая идея, что здесь происходит или какой лучший способ справиться с этим?