百度地圖api中給指定點(diǎn)加入標(biāo)簽醉顽,且鼠標(biāo)經(jīng)過時(shí)顯示脖卖,一般邏輯是先創(chuàng)建marker:
````var marker = new BMap.Marker(new BMap.Point(118, 38)); // 創(chuàng)建點(diǎn)```
然后給點(diǎn)增加label標(biāo)簽:
var label = new BMap.Label('這是一個(gè)標(biāo)簽', {
offset: new BMap.Size(20, -10)
});
將標(biāo)簽添加給點(diǎn)上:
marker.setLabel(label); //添加標(biāo)簽
當(dāng)需要給多個(gè)點(diǎn)添加標(biāo)簽時(shí)候埃仪,只需要一個(gè)for循環(huán)遍歷坐標(biāo)json和對(duì)應(yīng)標(biāo)簽就行了,如果還需要讓標(biāo)簽在鼠標(biāo)經(jīng)過時(shí)顯示疏之,離開隱藏州弟,則需要綁定mouseover和mouseout:
var points = [
[95.43511, 37.31229, '這是青海省'],
[119.71698, 41.907, '這是遼寧省'],
[110.43058, 26.1442, '這是廣西自治區(qū)']
];
var pointArray = new Array();
for (var i = 0; i < points.length; i++) {
var marker = new BMap.Marker(new BMap.Point(points[i].lon, points[i].lat)); // 創(chuàng)建點(diǎn)
map.addOverlay(marker); //增加點(diǎn)
var label = new BMap.Label(points[i].label, {
offset: new BMap.Size(20, -10)
});
marker.setLabel(label); //添加標(biāo)簽
pointArray[i] = new BMap.Point(points[i].lon, points[i].lat);
// 初始化不顯示
label.setStyle({
display: "none"
});
// 鼠標(biāo)經(jīng)過時(shí)
marker.addEventListener("mouseover", function(e) {
var label = this.getLabel();
label.setStyle({
display: "block"
});
});
// 鼠標(biāo)離開時(shí)
marker.addEventListener("mouseout", function(e) {
var label = this.getLabel();
label.setStyle({
display: "none"
});
});
}
baiduMap.jpeg