Javascript 谷歌地图-更改现有标记的样式属性并更新地图
在GoogleMap中,可以创建一个地图并放置一个自定义标记,如下所示Javascript 谷歌地图-更改现有标记的样式属性并更新地图,javascript,google-maps,google-maps-api-3,Javascript,Google Maps,Google Maps Api 3,在GoogleMap中,可以创建一个地图并放置一个自定义标记,如下所示 let lat = 19.29; let long = 72.85; let map = new google.maps.Map(document.getElementById('map'), {zoom: 12}); let LatLng = new google.maps.LatLng(lat, long); let marker = new google.maps.Marker({
let lat = 19.29;
let long = 72.85;
let map = new google.maps.Map(document.getElementById('map'), {zoom: 12});
let LatLng = new google.maps.LatLng(lat, long);
let marker = new google.maps.Marker({
position: LatLng,
map: map,
icon: { path: google.maps.SymbolPath.CIRCLE,
scale: 2,
fillColor: 'Crimson',
strokeColor: 'Crimson'
}
});
我们以后如何更改标记样式,例如fillColor
此问题与标记为重复的问题不同-此问题是关于更新现有标记的样式属性的通用问题,特定于google map api v3。从标记获取当前图标,更改其颜色,设置新图标:
var icon = marker.getIcon();
icon.fillColor = "#00FF00";
icon.strokeColor = "#00FF00";
marker.setIcon(icon);
代码片段:
var color=[“FF0000”、“00FF00”、“0000FF”];
var-colorIdx=1;
函数初始化(){
设lat=19.29;
设长=72.85;
让LatLng=newgoogle.maps.LatLng(lat,long);
让map=new google.maps.map(document.getElementById('map'){
缩放:12,
中心:拉丁
});
让marker=new google.maps.marker({
位置:LatLng,
地图:地图,
图标:{
路径:google.maps.SymbolPath.CIRCLE,
比例:10,
fillColor:'深红色',
strokeColor:“深红色”
}
});
google.maps.event.addDomListener(document.getElementById('btn'),'click',function(){
var icon=marker.getIcon();
icon.fillColor=color[colorIdx];
icon.strokeColor=color[colorIdx];
colorIdx++;
colorIdx%=color.length;
marker.setIcon(图标);
})
}
google.maps.event.addDomListener(窗口“加载”,初始化)代码>
html,
身体,
#地图{
身高:100%;
宽度:100%;
边际:0px;
填充:0px
}
从标记获取当前图标,更改其颜色,设置新图标:
var icon = marker.getIcon();
icon.fillColor = "#00FF00";
icon.strokeColor = "#00FF00";
marker.setIcon(icon);
代码片段:
var color=[“FF0000”、“00FF00”、“0000FF”];
var-colorIdx=1;
函数初始化(){
设lat=19.29;
设长=72.85;
让LatLng=newgoogle.maps.LatLng(lat,long);
让map=new google.maps.map(document.getElementById('map'){
缩放:12,
中心:拉丁
});
让marker=new google.maps.marker({
位置:LatLng,
地图:地图,
图标:{
路径:google.maps.SymbolPath.CIRCLE,
比例:10,
fillColor:'深红色',
strokeColor:“深红色”
}
});
google.maps.event.addDomListener(document.getElementById('btn'),'click',function(){
var icon=marker.getIcon();
icon.fillColor=color[colorIdx];
icon.strokeColor=color[colorIdx];
colorIdx++;
colorIdx%=color.length;
marker.setIcon(图标);
})
}
google.maps.event.addDomListener(窗口“加载”,初始化)代码>
html,
身体,
#地图{
身高:100%;
宽度:100%;
边际:0px;
填充:0px
}