Javascript 如何更改侦听器中谷歌地图圆圈标记图标的笔划颜色?
我创建了一个GoogleMaps对象并添加了这个标记。我想在mouseouver上更改笔划颜色Javascript 如何更改侦听器中谷歌地图圆圈标记图标的笔划颜色?,javascript,google-maps-api-3,Javascript,Google Maps Api 3,我创建了一个GoogleMaps对象并添加了这个标记。我想在mouseouver上更改笔划颜色 var circle = new google.maps.Marker({ map: myGmapObject, position: {lat,lng}, icon: { strokeColor: "#000", path: google.maps.SymbolPath.CIRCLE, scale: 7.5, anchor: new google.maps.
var circle = new google.maps.Marker({
map: myGmapObject,
position: {lat,lng},
icon: {
strokeColor: "#000",
path: google.maps.SymbolPath.CIRCLE,
scale: 7.5,
anchor: new google.maps.Point(0,0)
}
});
circle.addListener("mouseover",function(event){
this.icon.strokeColor = "#fff";
});
但是当我将鼠标移到图标上时,笔划颜色没有改变 既然circle被声明为一个新的googlemaps标记,我认为监听器必须以这种方式声明,它必须从googlemaps传递到dom
google.maps.event.addListener(circle, "mouseover", function() {
this.icon.strokeColor = "#fff";
});
你可以试着看看我遇到的这个答案
您需要获取现有图标,更改其笔划,然后在标记上设置新图标
circle.addListener("mouseover", function(event) {
var icon = this.getIcon();
icon.strokeColor = "#fff";
this.setIcon(icon);
});
代码片段:
函数initMap(){
//创建地图。
var lat=37.090
液化天然气var=-95.712;
var myGmapObject=new google.maps.Map(document.getElementById('Map'){
缩放:4,
中心:{
拉特:拉特,
液化天然气:液化天然气
},
mapTypeId:'地形'
});
var circle=new google.maps.Marker({
地图:myGmapObject,
职位:{
拉特,
液化天然气
},
图标:{
strokeColor:#000“,
路径:google.maps.SymbolPath.CIRCLE,
比例:7.5,
锚:新的google.maps.Point(0,0)
}
});
circle.addListener(“鼠标悬停”,函数(事件){
var icon=this.getIcon();
icon.strokeColor=“#fff”;
这个.setIcon(图标);
});
circle.addListener(“mouseout”,函数(事件){
var icon=this.getIcon();
icon.strokeColor=“#000”;
这个.setIcon(图标);
});
myGmapObject.fitBounds(circle.getBounds());
}
/*始终明确设置贴图高度以定义div的大小
*包含映射的元素*/
#地图{
身高:100%;
}
/*可选:使示例页面填充窗口*/
html,
身体{
身高:100%;
保证金:0;
填充:0;
}