почему карта openlayers не работает в vue-cli 3 - PullRequest
0 голосов
/ 13 октября 2018

Я добавил пакет ol в свой проект vue-cli через

npm, установил ol

, но карта не загружается.ошибки нет, и я просто нахожу пустой div в источнике результатов.

вот мой код =>

html-часть:

<div id="map-container"></div>

js-часть:

import 'ol/ol.css';
import Map from 'ol/Map';
import View from 'ol/View';
import TileLayer from 'ol/layer/Tile';
import XYZSource from 'ol/source/XYZ';

export default {
    name: "page",
    data() {
        return {
            ...
        }
    },
    methods: {

        initMap: function () {
            new Map({
                target: 'map-container',
                view: new View({
                center: [0, 0],
                zoom: 2
            })
        });
    },
    mounted: function () {
            this.initMap();
    },
}

ПРИМЕЧАНИЕ => где-то, где я обнаружил, что должен вызывать функцию init как:

this.$nextTick(function () {
            initMap();
        })

, но это не имело никакого значения.

Ребята, у меня мало времени, поэтому, пожалуйста, помогите мне.спасибо всем, кто хочет помочь

1 Ответ

0 голосов
/ 31 января 2019

Похоже, вам не хватает TileLayer.Как то так:

new Map({
  target: "map-container",
  layers: [
    new TileLayer({
      source: new XYZ({
        url: "https://{a-c}.tile.openstreetmap.org/{z}/{x}/{y}.png"
      })
    })
  ],
  view: new View({
    center: [0, 0],
    zoom: 2
  })
});
...