我正在尝试在 Vue.js 应用程序中导入和使用节点模块“azure-maps-control”,但在尝试实例化地图时遇到未定义的错误。
使用npm安装后azure-maps-control
,我已经尝试了多种方式导入node模块:
尝试使用
Vue.use(require('azure-maps-control'))
尝试在Vue文件本身中导入
import atlas from azure-maps-control
无论我如何导入它,当我尝试实例化地图时,atlas 变量总是未定义。这是一个新的 Vue.js 应用程序中的一些文件。
主.js:
import Vue from 'vue'
import App from './App.vue'
Vue.config.productionTip = false
Vue.use(require('azure-maps-control'))
new Vue({
render: h => h(App),
}).$mount('#app')
应用程序.vue:
<template>
<div id="app">
<div id='myMap'/>
<input value="text" type="button" v-on:click="initMap"/>
</div>
</template>
<script>
import atlas from 'azure-maps-control'
export default {
name: 'app',
data: () => ({
map: null
}),
methods: {
initMap() {
this.map = new atlas.Map('myMap', {
center: [-110, 50],
zoom: 2,
view: 'Auto',
authOptions: {
authType: 'subscriptionKey',
subscriptionKey: 'keyPlaceholder'
}
});
}
}
}
</script>
理想情况下,这将创建一个显示在“myMap”div 中的地图,但atlas
无论我如何导入它都是未定义的。这也令人沮丧,因为当我调用 atlas (atlas.Map()/atlas.HttpMarker()) 时,我可以看到建议的方法和类。
我对 Vue 比较陌生,Azure Maps 还没有被广泛使用,谁能帮我解决这个问题?