Javascript 类内的If语句
我正在尝试使用谷歌地图API创建医院地图。圆的半径是那个医院的床位数。另外,我想为不同类型的医院提供不同的颜色。这可以通过IF或SWITCH语句实现,但两者都不起作用。在这里,我附上IF语句的示例 问题在于语句Javascript 类内的If语句,javascript,html,if-statement,switch-statement,Javascript,Html,If Statement,Switch Statement,我正在尝试使用谷歌地图API创建医院地图。圆的半径是那个医院的床位数。另外,我想为不同类型的医院提供不同的颜色。这可以通过IF或SWITCH语句实现,但两者都不起作用。在这里,我附上IF语句的示例 问题在于语句if(citymap[city].tip=1)(在下面注释掉) 我确信问题在于在这个地方错误地使用了函数 <!DOCTYPE html> <html> <head> <meta name="viewport" content="init
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>
圈子
html,正文{
身高:100%;
保证金:0;
填充:0;
}
#地图{
身高:100%;
}
var citymap={
KBC_萨格勒布:{
中心:{lat:45.823554,lng:16.005904},
病床:1975年,
contentString:“KBC萨格勒布,1975年克里维塔”,
提示:1
},
KBC_分割:{
中心:{lat:43.503908,lng:16.457924},
病床:1521张,
contentString:“KBC SPLIT,1521 kreveta”,
提示:1
},
KBC_RIJEKA:{
中心:{lat:45.332623,lng:14.425665},
病床:1191张,
contentString:“KBC RIJEKA,1192 kreveta”,
提示:1
},
KBC_OSIJEK:{
中心:{lat:45.558230,lng:18.711740},
病床:1160张,
contentString:“KBC OSIJEK,1160 kreveta”,
提示:1
},
比利时联合银行秘书处:{
中心:{lat:45.815438,lng:15.953599},
病床:1207张,
contentString:“KBC SESTRE Milosrndice,1207 kreveta”,
提示:1
},
KB_DUBRAVA:{
中心:{lat:45.834369,lng:16.035823},
病床:625张,
contentString:“KB DUBRAVA,625 kreveta”,
提示:2
},
KB_MERKUR:{
中心:{lat:45.820832,lng:15.997447},
床位:345张,
contentString:“KB MERKUR,345 kreveta”,
提示:2
},
KB_SVETI_DUH:{
中心:{lat:45.820140,lng:15.938853},
病床:554张,
contentString:“KB SVETI DUH,554 kreveta”,
提示:2
}
};
函数initMap(){
var map=new google.maps.map(document.getElementById('map'){
缩放:13,
中心:{lat:45.811076,lng:15.979270},
mapTypeId:google.maps.mapTypeId.ROADMAP
});
用于(城市地图中的var城市){
var cityCircle=new google.maps.Circle({
strokeColor:“#FF0000”,
填充颜色:'#FF0000',
//如果(城市地图[city].tip=1){
//strokeColor:“#FF0000”,
//填充颜色:“#FF0000”
//}else if(citymap[city].tip=2){
//strokeColor:“#3333cc”,
//填充颜色:“#3333cc”
// },
笔划不透明度:0.8,
冲程重量:2,
不透明度:0.35,
地图:地图,
位置:城市地图[城市].中心,
中心:城市地图[城市]。中心,
半径:Math.sqrt(城市地图[城市].beds)*10
});
var infowindow=new google.maps.infowindow({
内容:城市地图[城市].contentString
});
cityCircle.addListener('单击',函数()){
信息窗口。打开(地图、城市圈);
});
}
}
使用
检查。使用
要检查。用于赋值的单等
=
,如果要进行比较,可以使用双等==
比较两个值,或使用三等==
也可以检查这些比较值的类型,在您的情况下,可以使用双号或三号:
if(citymap[city].tip == '1')
//OR
if(citymap[city].tip === '1'))
希望这能有所帮助。用于赋值的单等号
=
,如果要比较,可以使用双等号=
比较两个值,或使用三等号==
检查比较值的类型,在您的情况下,可以使用双等号或三等号:
if(citymap[city].tip == '1')
//OR
if(citymap[city].tip === '1'))
希望这有帮助。
citymap[city]。tip=1
将值1
设置为citymap[city]。tip
,使用==
或==
进行比较citymap[city]。tip=1
将值1
设置为citymap[city]。tip
,使用=
或==
进行comparisonTry,使用console.log(citymap[city].tip)在控制台中显示变量,以确保它返回一些内容。是的,它返回1或2,具体取决于citymap[city]的值。tip
Ok尝试通过在1
中添加引号将其作为字符串进行比较,检查我的更新。:)尝试console.log(citymap[city].tip==1,citymap[city].tip==1')
,并检查它将返回什么。同时,我对代码进行了更改。我定义了分离函数函数createCircle(地图、位置、中心、半径、数据、提示)
,并在那里添加了此条件。现在它起作用了。谢谢你的帮助!尝试使用console.log(citymap[city].tip)
在控制台中显示变量,以确保它返回某些内容。是的,它返回1或2,具体取决于citymap[city]的值。tip
Ok尝试通过向1
添加引号将其作为字符串进行比较,检查我的更新:)尝试console.log(citymap[city].tip==1,citymap[city].tip=='1')
,并检查它将返回什么。同时,我对代码进行了更改。我定义了分离函数函数createCircle(地图、位置、中心、半径、数据、提示)
,并在那里添加了此条件。现在它起作用了。谢谢你的帮助!