Vue中使用高德地圖vue-amap

下面是一些vue-amap的簡(jiǎn)單例子,下載和引入這里就不多說(shuō)了髓霞。

文檔

直接上代碼,把以下代碼復(fù)制進(jìn)去即可查看效果强戴,親測(cè)有效责鳍。

<template>
  <div id="app">
    <div class="amap-page-container">
      <div class="toolbar">當(dāng)前坐標(biāo): {{ lng }}, {{ lat }}</div>
      <el-amap
        vid="amapDemo"
        :center="center"
        :zoom="zoom"
        :plugin="plugin"
        class="amap-demo"
        :events="events"
        pitch-enable="false"
      >
        <el-amap-marker
          v-for="(marker,index) in markers"
          :key="index"
          :events="marker.events"
          :position="marker.position"
        />
        <el-amap-info-window
          v-if="window"
          :position="window.position"
          :visible="window.visible"
          :content="window.content"
          :offset="window.offset"
          :close-when-click-map="true"
          :is-custom="true"
        >
          <div id="info-window">
            <p>{{ window.address }}</p>
            <div class="detail" @click="checkDetail">查看詳情</div>
          </div>
        </el-amap-info-window>
      </el-amap>
    </div>
  </div>
</template>
    
<script>
export default {
  name: "AmapPage",
  data: function () {
    const self = this;
    return {
      data: [
        {
          position: "113.645422, 34.730936",
          address: "另一個(gè)地址",
        },
        {
          position: "113.685313,34.746453",
          address: "一個(gè)地址",
        },
      ],
      zoom: 10,
      center: [113.645422, 34.730936],
      markers: [],
      windows: [],
      window: "",
      events: {
        click(e) {
          const { lng, lat } = e.lnglat;
          self.lng = lng;
          self.lat = lat;
        },
      },
      lng: 0,
      lat: 0,

      /*一些工具插件*/

      plugin: [
        {
          pName: "DistrictSearch",
          events: {
            init(o) {
              console.log(o);
            },
          },
        },
        {
          // 定位
          pName: "Geolocation",
          events: {
            init(o) {
              // o是高德地圖定位插件實(shí)例
              o.getCurrentPosition((status, result) => {
                if (result && result.position) {
                  // 設(shè)置經(jīng)度
                  self.lng = result.position.lng;
                  // 設(shè)置維度
                  self.lat = result.position.lat;
                  // 設(shè)置坐標(biāo)
                  self.center = [self.lng, self.lat];
                  self.markers.push([self.lng, self.lat]);
                  // load
                  self.loaded = true;
                  // 頁(yè)面渲染好后
                  self.$nextTick();
                }
              });
            },
          },
        },
        {
          // 工具欄
          pName: "ToolBar",
          events: {
            init(instance) {
              // console.log(instance);
            },
          },
        },
        {
          // 鷹眼(暫且沒(méi)用到)
          pName: "OverView",
          events: {
            init(instance) {
              // console.log(instance);
            },
          },
        },
        {
          // 地圖類型
          pName: "MapType",
          defaultType: 0,
          events: {
            init(instance) {
              // console.log(instance);
            },
          },
        },
        {
          // 搜索(暫且沒(méi)用到)
          pName: "PlaceSearch",
          events: {
            init(instance) {
              // console.log(instance)
            },
          },
        },
      ],
    };
  },
  mounted() {
    this.point();
  },
  methods: {
    point() {
      const markers = [];
      const windows = [];
      const that = this;
      this.data.forEach((item, index) => {
        markers.push({
          position: item.position.split(","),
          // icon:item.url, //不設(shè)置默認(rèn)藍(lán)色水滴
          events: {
            click() {
              // 方法:鼠標(biāo)移動(dòng)到點(diǎn)標(biāo)記上,顯示相應(yīng)窗體
              that.windows.forEach((window) => {
                window.visible = false; // 關(guān)閉窗體
              });
              that.window = that.windows[index];
              that.$nextTick(() => {
                that.window.visible = true;
              });
            },
          },
        });
        windows.push({
          position: item.position.split(","),
          isCustom: true,
          offset: [115, 55], // 窗體偏移
          showShadow: false,
          visible: false, // 初始是否顯示
          address: item.address,
        });
      });
      //  加點(diǎn)
      this.markers = markers;
      // 加彈窗
      this.windows = windows;
    },
    checkDetail() {
      alert("點(diǎn)擊了查看詳情");
    },
  },
};
</script>
    
<style scoped>
.amap-demo {
  height: 120vh;
}

.amap-page-container {
  position: relative;
}

#info-window {
  width: 211px;
  height: 146px;
  margin-left: 30px;
  background: rgba(255, 255, 255, 0.9);
  border-radius: 4px;
  position: relative;
  overflow: hidden;
}

.detail {
  width: 100%;
  height: 24px;
  color: #fff;
  background-color: #1a73e8;
  position: absolute;
  bottom: 0;
  font-size: 12px;
  line-height: 24px;
  text-align: center;
  cursor: pointer;
}
</style>
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末泣港,一起剝皮案震驚了整個(gè)濱河市暂殖,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌当纱,老刑警劉巖呛每,帶你破解...
    沈念sama閱讀 218,640評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異坡氯,居然都是意外死亡晨横,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,254評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)箫柳,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)手形,“玉大人,你說(shuō)我怎么就攤上這事悯恍】饪罚” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,011評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵坪稽,是天一觀的道長(zhǎng)曼玩。 經(jīng)常有香客問(wèn)我,道長(zhǎng)窒百,這世上最難降的妖魔是什么黍判? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,755評(píng)論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮篙梢,結(jié)果婚禮上顷帖,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好贬墩,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,774評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布榴嗅。 她就那樣靜靜地躺著,像睡著了一般陶舞。 火紅的嫁衣襯著肌膚如雪嗽测。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,610評(píng)論 1 305
  • 那天肿孵,我揣著相機(jī)與錄音唠粥,去河邊找鬼。 笑死停做,一個(gè)胖子當(dāng)著我的面吹牛晤愧,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播蛉腌,決...
    沈念sama閱讀 40,352評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼官份,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了烙丛?” 一聲冷哼從身側(cè)響起舅巷,我...
    開(kāi)封第一講書(shū)人閱讀 39,257評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎蜀变,沒(méi)想到半個(gè)月后悄谐,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體介评,經(jīng)...
    沈念sama閱讀 45,717評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡库北,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,894評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了们陆。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片寒瓦。...
    茶點(diǎn)故事閱讀 40,021評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖坪仇,靈堂內(nèi)的尸體忽然破棺而出杂腰,到底是詐尸還是另有隱情,我是刑警寧澤椅文,帶...
    沈念sama閱讀 35,735評(píng)論 5 346
  • 正文 年R本政府宣布喂很,位于F島的核電站,受9級(jí)特大地震影響皆刺,放射性物質(zhì)發(fā)生泄漏少辣。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,354評(píng)論 3 330
  • 文/蒙蒙 一羡蛾、第九天 我趴在偏房一處隱蔽的房頂上張望漓帅。 院中可真熱鬧,春花似錦、人聲如沸忙干。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,936評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)捐迫。三九已至乾翔,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間施戴,已是汗流浹背末融。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,054評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留暇韧,地道東北人勾习。 一個(gè)月前我還...
    沈念sama閱讀 48,224評(píng)論 3 371
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像懈玻,于是被迫代替她去往敵國(guó)和親巧婶。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,974評(píng)論 2 355