我在我的网站上显示一张Google地图,根据数据库中的坐标循环显示多个值。
有四种不同类型的合作伙伴,这些合作伙伴用不同颜色的标记针突出显示。
到目前为止,我使用简写的if-else语句成功显示了3种不同颜色的标记。如何在此添加一个条件以显示Type4的最终彩色标记?
<?php
$markers = array();
foreach ($current as $key => $value) {
$markers[] = array(
'latLng' => array($value['Partner']['lat'], $value['Partner']['lon']),
'options' => array(
'icon' => $this->Html->url('/img/icons/'.($value['Partner']['type1'] ? 'pink-pin.png' : ($value['Partner']['type2'] ? 'green-pin.png' : 'purple-pin.png'))),
),
'data' => array(
'html' =>
'<p>'.$value['Partner']['name'].'</p>'
),
);
}
?>
答案 0 :(得分:0)
我不建议在这种情况下使用速记条件,因为它会变得非常复杂和不可行。
相反,使用if-else语句链:
<?php
$markers = array();
foreach ($current as $key => $value) {
if($value['Partner']['type1']) {
$icon = 'pink-pin.png';
} elseif($value['Partner']['type2']) {
$icon = 'green-pin.png';
} elseif($value['Partner']['type3']) {
$icon = 'black-pin.png';
} else {
$icon = 'blue-pin.png';
}
$markers[] = array(
'latLng' => array($value['Partner']['lat'], $value['Partner']['lon']),
'options' => array(
'icon' => $icon,
),
'data' => array(
'html' => '<p>' . $value['Partner']['name'] . '</p>'
),
);
}
?>
您可以根据需要添加或删除任意数量的类型。