Google maps 如果实时满足特定条件,如何更改谷歌地图标记图标
我想在使用google maps API满足特定条件时更改标记图标。 GreenStatus、OrangeStatus和RedStatus变量是Gif。文件夹。如何实时将图标从GreenStatus.gif更改为RedStatus.gifGoogle maps 如果实时满足特定条件,如何更改谷歌地图标记图标,google-maps,Google Maps,我想在使用google maps API满足特定条件时更改标记图标。 GreenStatus、OrangeStatus和RedStatus变量是Gif。文件夹。如何实时将图标从GreenStatus.gif更改为RedStatus.gif //Open Markers var GreenStatus = "@ViewBag.GreenStatus"; var OrangeStatus = "@ViewBag.OrangeStatus"; var RedStatus = "@ViewBag.Red
//Open Markers
var GreenStatus = "@ViewBag.GreenStatus";
var OrangeStatus = "@ViewBag.OrangeStatus";
var RedStatus = "@ViewBag.RedStatus";
//Create marker
var MiamiMarker = new google.maps.Marker
({
position: Miami,
map: map,
icon: GreenStatus
});
//Create function that checks if Miami is online or offline.
//If MiamiServer = online => icon: GreenStatus
//If MamiaServer = ofline => icon: RedStatus
解决方案:setIcon()可以工作
我用settimeout测试了它是否可以实时工作,这也可以。
setTimeout(function(){MiamiMarker.setIcon(GreenStatus)},10*1000) 很高兴您能够解决您的问题 然而,我只想分享我所做的。我使用了本机javascript的setInterval()函数
setInterval(function(){
var e = document.getElementById("statusSelect");
var selectedStatus = e.options[e.selectedIndex].value;
setStatusColor(selectedStatus, marker);
},10 * 1000);
我使用下拉菜单更改状态,setInterval()将在下拉菜单中检查所选状态以更新标记的图标
在此进行工作演示:
希望它能帮助你和快乐编码 在标记上调用
.setIcon
。@geocodezip我尝试添加带有悬停函数的.setIcon来测试它,它可以工作。然后我用定时器试了试,看它是否实时变化。然而,这不起作用。这就是我所尝试的:正如您在pastebin中看到的,我使用了一个变量来更改图标。如果我从1-11手动更改Checkstatus,它会更改图标,但仅当我刷新页面时,请在问题本身中提供一个允许重现问题的选项。@MrUpsidedown我添加了我在上面的原始帖子中尝试的内容,我尝试了另一种方法setTimeout(function(){MiamiMarker.setIcon(GreenStatus)},10*1000);它是有效的。它实时更新。谢谢你