【发布时间】:2019-07-07 13:24:22
【问题描述】:
我有一张地图,我想将标记放入其中。根据数据库列的值,我想更改标记的颜色。我已经尝试过了,但它有错误。有人知道怎么做吗?
var green='http://maps.google.com/mapfiles/ms/icons/green-dot.png';
var yellow='http://maps.google.com/mapfiles/ms/icons/yellow-dot.png';
var orange='http://maps.google.com/mapfiles/ms/icons/orangedot.png';
var red='http://maps.google.com/mapfiles/ms/icons/red-dot.png';
for( i = 0; i < markers.length; i++ ) {
var position = new google.maps.LatLng(markers[i][1], markers[i][2]);
<?php if($result->num_rows > 0){
while($row = $result->fetch_assoc()){
$value=$row['RSRP'];
}
}
if($value>-90){$icon="green";}
else if($value<=-90 && $value>=-106){$icon="yellow";}
else if($value<=-107 && $value>=-120){$icon="orange";}
else if($value<-120){$icon="red";}
?>
bounds.extend(position);
marker = new google.maps.Marker({
position: position,
map: map,
title: markers[i][0],
icon:yellow
});
}
【问题讨论】:
-
您提到了错误,但没有告诉我们这些错误是什么。
-
对于每个标记,它都会在控制台
<b>Notice</b>: Undefined variable: value in <b>C:\xampp\htdocs\site.php</b> on line <b>78</b><br /> <br />上向我显示此内容@ -
看起来您正在填充 $value 数组而没有先定义它。在你开始你的 while 语句之前,甚至你的 if($result->num_rows >0) 你应该声明 $value 变量,例如
$value= [];
标签: php database google-maps google-maps-markers marker