。
1、想要动态改变标记点图标 必须把默认的标记点覆盖,用到了markers参数下的 iconPath设置标记点的图标,如果需求只需要简单的动态改变标记点的图标到这一步就结束了,但是如果需要动态改变标记点图标及内容(动态显示文字)就需要看下一步!
2、把iconPath设置的图片改用一张1*1像素的透明背景图 png格式的。
3、markers 列表中的 customCallout 设置自定义气泡窗口 display: "ALWAYS"总数显示,
4、map标签上使用 @callouttap事件 点击标记点对应的气泡时触发,这样就可以动态获取标记点信息了。
其中、第二步中使用透明背景图把默认标记点隐藏,第三步把自定义气泡d窗改为标记点,偏移量自行微调到原标记点上方,第四步,获取到点击标记点的回调。这样,就可以实现动态改变标记点图标及内容了。
我修改了一下你的代码,用函数就可以了var map = new BMap.Map("container")
var point
var myArray=new Array()
for(var i=1i<10i++)
{
point = new BMap.Point(116.404+(i/1000), 39.915+(i/1000))
myArray[i]=point
}
map.centerAndZoom(point, 15)
map.addControl(new BMap.NavigationControl()) //导航
var marker
for(var j=1j<10j++){
addMarker(j)
} // 将标注添加到地图中
function addMarker(k){
marker = new BMap.Marker(myArray[k]) // 创建标注
map.addOverlay(marker)
var infoWindow = new BMap.InfoWindow(k) // 创建信息窗口对象
marker.addEventListener("click", function(){
this.openInfoWindow(infoWindow)
})
marker.setLabel(new BMap.Label("我是百度,呵呵",{offset:new BMap.Size(10,-40)}))
}
方法一:直接在标签元素上添加
方法二:是通过js来添加
如图:
介绍:
HTML(Hyper Text Mark-up Language )即超文本标记语言,是 WWW 的描述语言,由 Tim Berners-lee提出。设计 HTML 语言的目的是为了能把存放在一台电脑中的文本或图形与另一台电脑中的文本或图形方便地联系在一起,形成有机的整体,人们不用考虑具体信息是在当前电脑上还是在网络的其它电脑上。
这样,你只要使用鼠标在某一文档中点取一个图标,Internet就会马上转到与此图标相关的内容上去,而这些信息可能存放在网络的另一台电脑中。
HTML文本是由 HTML命令组成的描述性文本,HTML 命令可以说明文字、 图形、动画、声音、表格、链接等。 HTML的结构包括头部 (Head)、主体 (Body) 两大部分。头部描述浏览器所需的信息,主体包含所要说明的具体内容。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)