VUE高德地圖API 鼠標(biāo)點擊/觸發(fā)顯示信息窗

<style?lang="css">

#container?{

??/*?width:?100%;

??height:?100%;?*/

??position:?relative;

??/*?left:?50%;

??top:?50%;?*/

??/*?transform:?translate3d(-50%,?-50%,?0);?*/

}

.search-box?{

????position:?relative;

????width:?100%;

??}

??.intro?{

????width:?40%;

????max-height:?260px;

????position:?absolute;

????right:?13%;

????top:?30px;


????background-color:?rgba(255,?255,?255,?0.8);

??}

.prompt?{

????padding:?1rem;

????background:?white;

????width:?auto;

????height:?auto;

????text-align:?left;

}

</style>

<template>

????<div??id="outer-box"?>

????????<div?class="search-box"?>

????????????<!--?地圖右上顯示內(nèi)容?-->

????????????<div?class="intro">

????????????????<el-row?:gutter="10"?style="text-align:?center;">

????????????????????<!--?學(xué)校數(shù)量?-->

????????????????????<el-col?:xs="24"?:sm="12"?:md="6"?:lg="6"?>

????????????????????????<h3?style="color:?#797979;?font-size:?24px;">

????????????????????????????<i?class="iconfont?iconxuexiao"?style="font-size:?25px;"></i>

????????????????????????</h3>

??????????????????????<h3>學(xué)校數(shù)量</h3>

??????????????????????<h3?style="color:?#F59A23;">{{school_num}}</h3>

????????????????????</el-col>

????????????????????<!--?食堂總量?-->

????????????????????<el-col?:xs="24"?:sm="12"?:md="6"?:lg="6">

?????????????????????<h3?style="color:?#797979;">

????????????????????????????<i?class="iconfont?iconshitang"?style="font-size:?25px;"></i>

????????????????????????</h3>

??????????????????????<h3>食堂總量</h3>

??????????????????????<h3?style="color:?#F59A23;">{{canteen_num_inuse}}</h3>

????????????????????</el-col>

????????????????????<!--?在用食堂數(shù)?-->

????????????????????<el-col?:xs="24"?:sm="12"?:md="6"?:lg="6">

??????????????????????<h3?style="color:?#797979;">

????????????????????????????<i?class="iconfont?iconzaiyongshitang"?style="font-size:?25px;"></i>

????????????????????????</h3>

??????????????????????<h3>在用食堂數(shù)</h3>

??????????????????????<h3?style="color:?#F59A23;">{{canteen_num_inuse}}</h3>

????????????????????</el-col>

????????????????????<!--?工勤人員總數(shù)?-->

????????????????????<el-col?:xs="24"?:sm="12"?:md="6"?:lg="6">

??????????????????????<h3?style="color:?#797979;">

????????????????????????????<i?class="iconfont?icongonqinrenyuanshu"?style="font-size:?25px;"></i>

????????????????????????</h3>

??????????????????????<h3>工勤人員總數(shù)</h3>

??????????????????????<h3?style="color:?#F59A23;">{{people}}</h3>

????????????????????</el-col>

????????????????</el-row>

????????????</div>

????????</div>

????????<div?style="width:?100vw;height:?100vh"?id="container"></div>

????</div>


</template>

<script>

//?eslint-disable-next-line

import?AMap?from?"AMap";

//?var?map;

export?default?{

????props:{

????????canteen_num:?{?

????????????????type:??[String,?Number,?Array],

????????????????default:?String,

????????????},//餐廳總量

????????canteen_num_inuse:?{?

????????????????type:??[String,?Number,?Array],

????????????????default:?String,

????????????},//啟用餐廳總量

????????people:?{?

????????????????type:??[String,?Number,?Array],

????????????????default:?String,

????????????},//工勤人員數(shù)量

????????school_num:?{?

????????????????type:??[String,?Number,?Array],

????????????????default:?String,

????????????},//學(xué)校總量

????????allcanteens:?{?//初始化地圖層級

????????????????type:??[String,?Number,?Array],

????????????????default:?Array,

????????????},

????????allschools:?{?//初始化地圖層級

????????????????type:??[String,?Number,?Array],

????????????????default:?Array,

????????????},

????},

?name:?"Index",

?watch:?{

????????allschools(val)?{?//監(jiān)聽學(xué)校數(shù)據(jù)

????????????????this.init();

????????},

},

?data()?{

??return?{

?????map:null,

?????infoWindow:null,

??};

?},

?mounted()?{

??this.init();

?},

?methods:?{

????init()?{

????????let?self=this;

????????console.log(self.list)

????????//初始化地圖

????????var?map?=?new?AMap.Map("container",?{viewMode:?'3D',resizeEnable:?true,zoom:?10});

????????var?allschools?=?self.allschools;

????????var?allcanteens?=?self.allcanteens;

????????//初始化信窗-顯示位置

????????var?infoWindow?=?new?AMap.InfoWindow({offset:?new?AMap.Pixel(0,?-30)});

????????//學(xué)校數(shù)據(jù)通過文本標(biāo)記顯示

????????for?(var?i?=?0;?i?<?allschools.length;?i++)?{

????????????//?文本標(biāo)記顯示內(nèi)容

????????????var?text?=?new?AMap.Text({

????????????????text:`<div?>?

????????????????????${?allschools[i].name?}<br/>

????????????????????<br/>

????????????????????${?allschools[i].canteens?allschools[i].canteens:''?}<br/>

??????????????????</div>`,

????????????????anchor:'center',?//?設(shè)置文本標(biāo)記錨點

????????????????draggable:true,

????????????????cursor:'pointer',

????????????????angle:0,

????????????????style:{

????????????????????'padding':?'2rem',

????????????????????'border-radius':?'50%',

????????????????????'background-color':?'rgba(255,?240,?9,?0.6)',

????????????????????'width':?'10rem',

????????????????????'height':?'10rem',

????????????????????'border-width':?0,

????????????????????'text-align':?'center',

????????????????????'font-size':?'1rem',

????????????????????'color':?'blue'

????????????????},

????????????????position:?allschools[i].position

????????????});

????????????//通過data保存/添加組織機(jī)構(gòu)數(shù)據(jù)

????????????text.data={

????????????????orgId:allschools[i].porgId?allschools[i].porgId:allschools[i].orgId,

????????????????schoolId:allschools[i].schoolId?allschools[i].schoolId:allschools[i].thisId,

????????????????canteenId:allschools[i].porgId?'':allschools[i].thisId,

????????????}

????????????text.setMap(map);

????????????//學(xué)校信息窗展示數(shù)據(jù)

????????????text.content?=?`<div?class="prompt">?

????????????????????學(xué)校名稱:${?allschools[i].name?}<br/>

????????????????????學(xué)校地址:${?allschools[i].address?}<br/>

????????????????????聯(lián)系人:${?allschools[i].contacts?allschools[i].contacts:''?}<br/>

????????????????????聯(lián)系電話:${?allschools[i].phone?allschools[i].phone:''?}<br/>

????????????????????食堂數(shù)量:${?allschools[i].canteens?allschools[i].canteens:''?}<br/>

????????????????????工勤人員數(shù)量:${?allschools[i].workers?allschools[i].workers:''?}<br/>

??????????????????</div>`;

????????????//通過點擊顯示學(xué)校信息窗數(shù)據(jù)

????????????text.on('click',?markerClick);

????????????//?text.on('mouseout',?marker.setLabel({}));


????????}

????????//食堂數(shù)據(jù)通過標(biāo)記點顯示

????????for?(var?i?=?0,?marker;?i?<?allcanteens.length;?i++)?{

????????//地圖標(biāo)記點

????????var?marker?=?new?AMap.Marker({

????????????????position:?allcanteens[i].position,

????????????????map:?map

????????????});

????????????//通過data保存/添加組織機(jī)構(gòu)數(shù)據(jù)

????????????marker.data={

????????????????orgId:allcanteens[i].porgId?allcanteens[i].porgId:allcanteens[i].orgId,

????????????????schoolId:allcanteens[i].schoolId?allcanteens[i].schoolId:allcanteens[i].thisId,

????????????????canteenId:allcanteens[i].porgId?'':allcanteens[i].thisId,

????????????}

????????????//食堂信息窗展示數(shù)據(jù)

????????????marker.content?=?`<div?class="prompt">?

????????????????????食堂名稱:${?allcanteens[i].name?}<br/>

????????????????????食堂地址:${?allcanteens[i].address?}<br/>

????????????????????聯(lián)系人:${?allcanteens[i].contacts?allcanteens[i].contacts:''?}<br/>

????????????????????聯(lián)系電話:${?allcanteens[i].phone?allcanteens[i].phone:''?}<br/>

????????????????????工勤人員數(shù)量:${?allcanteens[i].workers?allcanteens[i].workers:''?}<br/>

??????????????????</div>`;

????????????//通過鼠標(biāo)移動上標(biāo)記點顯示信息窗

????????????marker.on('mouseover',?markerClick);

????????????//點擊調(diào)取父級方法跳轉(zhuǎn)

????????????marker.on('click',self.handler);

????????????//?marker.emit('mouseout',?{target:?marker});

????????}

????????//信息窗實例化方法

????????function?markerClick(e)?{

????????????infoWindow.setContent(e.target.content);

????????????infoWindow.open(map,?e.target.getPosition());

????????}

????????//?map.setFitView();


????},


????//回調(diào)父級方法傳參

????handler(val){?????????

??????????this.$emit('handlerJump',?val.target.data)

????}

??},

};

</script>

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末脯爪,一起剝皮案震驚了整個濱河市塌西,隨后出現(xiàn)的幾起案子丑蛤,更是在濱河造成了極大的恐慌伤疙,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,386評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件痊银,死亡現(xiàn)場離奇詭異哩簿,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)躏升,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,142評論 3 394
  • 文/潘曉璐 我一進(jìn)店門辩棒,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人膨疏,你說我怎么就攤上這事一睁。” “怎么了佃却?”我有些...
    開封第一講書人閱讀 164,704評論 0 353
  • 文/不壞的土叔 我叫張陵者吁,是天一觀的道長。 經(jīng)常有香客問我饲帅,道長复凳,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,702評論 1 294
  • 正文 為了忘掉前任灶泵,我火速辦了婚禮育八,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘赦邻。我一直安慰自己髓棋,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,716評論 6 392
  • 文/花漫 我一把揭開白布惶洲。 她就那樣靜靜地躺著按声,像睡著了一般。 火紅的嫁衣襯著肌膚如雪恬吕。 梳的紋絲不亂的頭發(fā)上签则,一...
    開封第一講書人閱讀 51,573評論 1 305
  • 那天,我揣著相機(jī)與錄音铐料,去河邊找鬼渐裂。 笑死侨颈,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的芯义。 我是一名探鬼主播哈垢,決...
    沈念sama閱讀 40,314評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼扛拨!你這毒婦竟也來了耘分?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,230評論 0 276
  • 序言:老撾萬榮一對情侶失蹤绑警,失蹤者是張志新(化名)和其女友劉穎求泰,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體计盒,經(jīng)...
    沈念sama閱讀 45,680評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡渴频,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,873評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了北启。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片卜朗。...
    茶點故事閱讀 39,991評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖咕村,靈堂內(nèi)的尸體忽然破棺而出场钉,到底是詐尸還是另有隱情,我是刑警寧澤懈涛,帶...
    沈念sama閱讀 35,706評論 5 346
  • 正文 年R本政府宣布逛万,位于F島的核電站,受9級特大地震影響批钠,放射性物質(zhì)發(fā)生泄漏宇植。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,329評論 3 330
  • 文/蒙蒙 一埋心、第九天 我趴在偏房一處隱蔽的房頂上張望指郁。 院中可真熱鬧,春花似錦踩窖、人聲如沸坡氯。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,910評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至手形,卻和暖如春啥供,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背库糠。 一陣腳步聲響...
    開封第一講書人閱讀 33,038評論 1 270
  • 我被黑心中介騙來泰國打工伙狐, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留涮毫,地道東北人。 一個月前我還...
    沈念sama閱讀 48,158評論 3 370
  • 正文 我出身青樓贷屎,卻偏偏與公主長得像罢防,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子唉侄,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,941評論 2 355

推薦閱讀更多精彩內(nèi)容