【发布时间】:2016-01-18 14:57:10
【问题描述】:
我正在尝试使用 Google Maps API 创建医院地图。圆的半径是该医院的床位数。另外,我想为不同类型的医院设置不同的颜色。这可以通过 IF 或 SWITCH 语句来完成,但都不起作用。这里我附上 IF 语句的例子。
问题在于声明 if (citymap[city].tip = 1)(在下面注释掉)。
我确定问题是在这个地方错误地使用了函数。
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no">
<meta charset="utf-8">
<title>Circles</title>
<style>
html, body {
height: 100%;
margin: 0;
padding: 0;
}
#map {
height: 100%;
}
</style>
</head>
<body>
<div id="map"></div>
<script>
var citymap = {
KBC_ZAGREB: {
center: {lat: 45.823554, lng: 16.005904},
beds: 1975,
contentString: "KBC ZAGREB, 1975 kreveta",
tip: 1
},
KBC_SPLIT: {
center: {lat: 43.503908, lng: 16.457924},
beds: 1521,
contentString: "KBC SPLIT, 1521 kreveta",
tip: 1
},
KBC_RIJEKA: {
center: {lat: 45.332623, lng: 14.425665},
beds: 1191,
contentString: "KBC RIJEKA, 1192 kreveta",
tip: 1
},
KBC_OSIJEK: {
center: {lat: 45.558230, lng: 18.711740},
beds: 1160,
contentString: "KBC OSIJEK, 1160 kreveta",
tip: 1
},
KBC_SESTRE_MILOSRDNICE: {
center: {lat: 45.815438, lng: 15.953599},
beds: 1207,
contentString: "KBC SESTRE MILOSRDNICE, 1207 kreveta",
tip: 1
},
KB_DUBRAVA: {
center: {lat: 45.834369, lng: 16.035823},
beds: 625,
contentString: "KB DUBRAVA, 625 kreveta",
tip: 2
},
KB_MERKUR: {
center: {lat: 45.820832, lng: 15.997447},
beds: 345,
contentString: "KB MERKUR, 345 kreveta",
tip: 2
},
KB_SVETI_DUH: {
center: {lat: 45.820140, lng: 15.938853},
beds: 554,
contentString: "KB SVETI DUH, 554 kreveta",
tip: 2
}
};
function initMap() {
var map = new google.maps.Map(document.getElementById('map'), {
zoom: 13,
center: {lat: 45.811076, lng: 15.979270},
mapTypeId: google.maps.MapTypeId.ROADMAP
});
for (var city in citymap) {
var cityCircle = new google.maps.Circle({
strokeColor: '#FF0000',
fillColor: '#FF0000',
// if (citymap[city].tip = 1){
// strokeColor: '#FF0000',
// fillColor: '#FF0000'
// } else if (citymap[city].tip = 2){
// strokeColor: '#3333cc',
// fillColor: '#3333cc'
// },
strokeOpacity: 0.8,
strokeWeight: 2,
fillOpacity: 0.35,
map: map,
position: citymap[city].center,
center: citymap[city].center,
radius: Math.sqrt(citymap[city].beds) * 10
});
var infowindow = new google.maps.InfoWindow({
content: citymap[city].contentString
});
cityCircle.addListener('click', function() {
infowindow.open(map, cityCircle);
});
}
}
</script>
<script async defer
src="https://maps.googleapis.com/maps/api/js?signed_in=true&callback=initMap"></script>
</body>
</html>
【问题讨论】:
-
citymap[city].tip = 1将值1设置为citymap[city].tip,使用==或===进行比较
标签: javascript html if-statement switch-statement