Javascript 类内的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

我正在尝试使用谷歌地图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>

圈子
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(地图、位置、中心、半径、数据、提示)
,并在那里添加了此条件。现在它起作用了。谢谢你的帮助!