Maptalks 項目是一個 HTML5 的地圖引擎, 基於原生 ES6 Javascript 開發:css
上面是一段 maptalks 官方介紹,下面來建立工程。首先利用 vue-cli3 搭建一個 SPA 項目,而後寫一段 maptalks 的 HELLO WORLD。若是對 vue 項目的建立比較熟悉,能夠跳過步驟一,直接看步驟二。html
1、建立工程vue
vue create vue-maptalks
複製代碼
進入工程配置頁面vue-cli
選擇 Manually select features 選擇 Babel、Router、Vuex、CSS Pre-processors、Linter / Formatter 輸入 n 選擇 sass/scss 選擇 ESLint + Airbnb config 選擇 Lint on save 選擇 In dedicated config files 輸入 y,保存本次設置爲模版,下次建立項目直接選擇本次保留的模板。 輸入保存的模板名字,進入項目初始化構建,等待構建完成。 完成後,打開瀏覽,輸入 http://localhost:8080/工程建立完成。shell
2、HELLO WORLDsass
安裝 maptalksecharts
yarn add maptalks
複製代碼
刪除 src/App.vue,新建 App.vue,輸入以下代碼dom
<template>
<div id="map" class="container"></div>
</template>
<script>
import 'maptalks/dist/maptalks.css';
import * as maptalks from 'maptalks';
export default {
mounted() {
this.$nextTick(() => {
const map = new maptalks.Map('map', {
center: [-0.113049, 51.498568],
zoom: 14,
baseLayer: new maptalks.TileLayer('base', {
urlTemplate: 'http://{s}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}.png',
subdomains: ['a', 'b', 'c', 'd'],
attribution: '© <a href="http://osm.org">OpenStreetMap</a> contributors, © <a href="https://carto.com/">CARTO</a>',
}),
});
console.log('map: ', map);
});
},
};
</script>
<style lang="scss">
html,body{ margin:0px;height:100%;width:100%; }
.container{ width:100%;height:100% }
</style>
複製代碼
地圖初始化,應寫在 nextTick 函數中,以保證掛載點 #map 先於地圖渲染。函數
效果以下:性能