百度地图API的使用问题---标注图片在鼠标移上后怎么改变,我想换成别的图片,但设置无效
varmap=newBMap.Map('container');varpoint=newBMap.Point(108.365631,22.817642);map.cent...
var map=new BMap.Map('container');
var point=new BMap.Point(108.365631,22.817642);
map.centerAndZoom(point,15);
//添加标注
var marker=new BMap.Marker();
var myIcon=new BMap.Icon("../ui/images/a.png",new BMap.Size(22,36));
marker.setIcon(myIcon);
marker.setPosition(point);
marker.enableDragging();
//鼠标移上
marker.addEventListener("mouseover",function(){
this.getIcon().setImageUrl("../ui/images/b.png");
this.getIcon().setSize(new BMap.Size(31,49));
})
我设置之后触发事件,但没有效果,是不是还要在触发鼠标移上事件里面把更改过的标注再重新加入到map里面 this.getMap().addOverlay(this) 展开
var point=new BMap.Point(108.365631,22.817642);
map.centerAndZoom(point,15);
//添加标注
var marker=new BMap.Marker();
var myIcon=new BMap.Icon("../ui/images/a.png",new BMap.Size(22,36));
marker.setIcon(myIcon);
marker.setPosition(point);
marker.enableDragging();
//鼠标移上
marker.addEventListener("mouseover",function(){
this.getIcon().setImageUrl("../ui/images/b.png");
this.getIcon().setSize(new BMap.Size(31,49));
})
我设置之后触发事件,但没有效果,是不是还要在触发鼠标移上事件里面把更改过的标注再重新加入到map里面 this.getMap().addOverlay(this) 展开
2个回答
展开全部
是你写的有问题
应该这样写:
marker.addEventListener("mouseover", function () {
this.setIcon(new BMap.Icon("../ui/images/b.png",new BMap.Size(31,49)));
});
应该这样写:
marker.addEventListener("mouseover", function () {
this.setIcon(new BMap.Icon("../ui/images/b.png",new BMap.Size(31,49)));
});
更多追问追答
追问
嗯 我已经解决了 只是无法关闭问题,又不想给楼上的,这会你来了就给你吧,我还有一个问题,可以帮我解决吗?百度地图的异步加载,示例那里是js和html是同一页面的,现在我单独写成一个js文件,然后怎么样才能异步加载呢,因为每次我引用百度地图的api时,我写的js文件就会报对象不支持些方法的错误
追答
对于你的追问,我可以告诉你,很简单,js文件的引用放到最后面,也就是标记之后,就百分百不会报错了,你一定是把引用加在之间了吧?那样是会报错的。既然问题解决了,就结贴吧,把我的答案选为最佳答案就结贴了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询