正如标题所暗示的那样,我只是在地图中添加了一个"center_changed"监听器,并且该函数不止一次运行.我假设它是因为地图的中心在地图休息之前改变了很多次,但我认为这就是"拖动"的意思,并且"center_changed只会在休息后触发一次?我知道它多次触发的唯一原因是因为我在图标上有一个阴影,它在整个黑色之前大约两秒变暗和变暗.如果有人需要我的代码,则在下面.
google.maps.event.addListener(map, 'center_changed', function() {
var zoomLevel = map.getZoom();
if (zoomLevel > 7) {
clearAll();
addmarker1();
addmarker2();
addmarker3();
addmarker4();
}
else {
clearAll();
}
});
Run Code Online (Sandbox Code Playgroud) 我只是试图让这个复选框在检查后通过在Javascript中运行函数取消选中后对消息进行警报.我可以让它显示"已检查"消息但无法获得"未经检查"的警报.
<input type="checkbox" id="chbx" onchange="foo()">
<script type="text/javascript">
var checkbox = document.getElementById("chbx");
function foo(){
if(checkbox.checked=true){
alert("Checked!");
}
else {
alert("UnChecked!");
}
};
</script>
Run Code Online (Sandbox Code Playgroud) 因此,我试图找出一种方法来更改Google Maps V3标记的HTML,这些标记在从数据库中提取之后但在被推送到数组之前.
当调用getFishing()时,我想运行convertRate(rate),这样如果rate变量等于2或更多,它会显示一个在Markers自身的HTML内的图片.我已经尝试将它放在bindInfoWindow4()中,并且我在getFishing()函数中尝试了几个地方但没有成功.有没有人这样做过?将标记推到fishArray之后是否可能?
function getFishing() {
fishingUrl("XML_Fishing.php", function (data) {
var xml = data.responseXML;
var markers = xml.documentElement.getElementsByTagName("marker");
for (var i = 0; i < markers.length; i++) {
var id = markers[i].getAttribute("id");
var title = markers[i].getAttribute("title");
var rate = markers[i].getAttribute("rate");
var Fishhtml = "<img id='1star' src='images/1star.png' style='visibility:hidden'>";
var icon = FishingIcon;
var Fishmark = new google.maps.Marker({
map: map,
position: point,
icon: icon.icon
});
fishArray.push(Fishmark);
bindInfoWindow4(Fishmark, map, Fishinfo, Fishhtml);
}
});
}
function convertRate(rate) {
if (rate >= 2) { …Run Code Online (Sandbox Code Playgroud)