vue-amap高德地圖顯示點(diǎn)標(biāo)記及相應(yīng)的信息窗體實(shí)現(xiàn)

我的需求為丧靡,現(xiàn)在地圖上根據(jù)坐標(biāo)顯示點(diǎn)標(biāo)記综膀,當(dāng)鼠標(biāo)移到點(diǎn)標(biāo)記上時(shí),動(dòng)態(tài)的在選擇的點(diǎn)標(biāo)記旁邊彈出相應(yīng)的信息小彈框葛躏,同時(shí)小彈框中有可以點(diǎn)擊的按鈕澈段,點(diǎn)擊地圖其他地方時(shí)關(guān)閉信息窗體,實(shí)現(xiàn)效果如下:


image.png

安裝及上手就不贅述了舰攒,參考vue-amap文檔
大概思路為败富,遍歷接口信息,將坐標(biāo)push進(jìn)點(diǎn)標(biāo)記列表中摩窃,同時(shí)將信息窗體push進(jìn)來兽叮,位置為點(diǎn)標(biāo)記的位置適當(dāng)偏移,新版本el-amap-info-window中可以寫內(nèi)部的content及樣式猾愿,省去字符串拼接的麻煩鹦聪,代碼:

<template>
  <div class="amap-page-container">
    <div class="toolbar">
      當(dāng)前坐標(biāo): {{ lng }}, {{ lat }}
    </div>
    <el-amap
      vid="amapDemo"
      :center="center"
      :zoom="zoom"
      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>
</template>

<script>

export default {
  name: 'AmapPage',
  data: function() {
    const self = this
    return {
      data: [{
        position: '121.599197, 31.205379',
        address: '另一個(gè)地址'

      },
      {
        position: '121.564254, 31.21135',
        address: '一個(gè)地址'

      }],
      zoom: 3,
      center: [121.599197, 31.205379],
      expandZoomRange: true,
      markers: [],
      windows: [],
      window: '',
      events: {
        click(e) {
          const { lng, lat } = e.lnglat
          self.lng = lng
          self.lat = lat
        }
      },
      lng: 0,
      lat: 0
    }
  },
  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: {
            mouseover() {
              // 方法:鼠標(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 lang="scss" scoped>
    .amap-demo {
      height: 450px;
    }
    .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閱讀 222,183評(píng)論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件琴儿,死亡現(xiàn)場離奇詭異段化,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)造成,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,850評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門显熏,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人晒屎,你說我怎么就攤上這事喘蟆』荷” “怎么了?”我有些...
    開封第一講書人閱讀 168,766評(píng)論 0 361
  • 文/不壞的土叔 我叫張陵蕴轨,是天一觀的道長港谊。 經(jīng)常有香客問我,道長橙弱,這世上最難降的妖魔是什么歧寺? 我笑而不...
    開封第一講書人閱讀 59,854評(píng)論 1 299
  • 正文 為了忘掉前任,我火速辦了婚禮棘脐,結(jié)果婚禮上斜筐,老公的妹妹穿的比我還像新娘。我一直安慰自己蛀缝,他們只是感情好顷链,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,871評(píng)論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著屈梁,像睡著了一般蕴潦。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上俘闯,一...
    開封第一講書人閱讀 52,457評(píng)論 1 311
  • 那天潭苞,我揣著相機(jī)與錄音,去河邊找鬼真朗。 笑死此疹,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的遮婶。 我是一名探鬼主播蝗碎,決...
    沈念sama閱讀 40,999評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼旗扑!你這毒婦竟也來了蹦骑?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,914評(píng)論 0 277
  • 序言:老撾萬榮一對(duì)情侶失蹤臀防,失蹤者是張志新(化名)和其女友劉穎眠菇,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體袱衷,經(jīng)...
    沈念sama閱讀 46,465評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡捎废,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,543評(píng)論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了致燥。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片登疗。...
    茶點(diǎn)故事閱讀 40,675評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出辐益,到底是詐尸還是另有隱情断傲,我是刑警寧澤,帶...
    沈念sama閱讀 36,354評(píng)論 5 351
  • 正文 年R本政府宣布智政,位于F島的核電站艳悔,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏女仰。R本人自食惡果不足惜猜年,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,029評(píng)論 3 335
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望疾忍。 院中可真熱鬧乔外,春花似錦、人聲如沸一罩。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,514評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽聂渊。三九已至差购,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間汉嗽,已是汗流浹背欲逃。 一陣腳步聲響...
    開封第一講書人閱讀 33,616評(píng)論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留饼暑,地道東北人稳析。 一個(gè)月前我還...
    沈念sama閱讀 49,091評(píng)論 3 378
  • 正文 我出身青樓,卻偏偏與公主長得像弓叛,于是被迫代替她去往敵國和親彰居。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,685評(píng)論 2 360