根据数据库中的值更改标记颜色
Posted
技术标签:
【中文标题】根据数据库中的值更改标记颜色【英文标题】:Change marker color depending on value in database 【发布时间】: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= [];
【参考方案1】:
您好,请改用 foreach 循环并检查该值是否设置为示例:
foreach ($sqlResult as $key => $value)
if (isset($value))
if($value["color"] > 90)
$icon ="green";
其中“颜色”是您要获取值的列的名称 希望对您有所帮助。
【讨论】:
以上是关于根据数据库中的值更改标记颜色的主要内容,如果未能解决你的问题,请参考以下文章
AG-Grid:如何根据同一行中其他单元格中的值更改单元格的颜色
如何根据Angularjs中的背景颜色自动更改文本颜色? [复制]
python使用matplotlib可视化散点图(scatter plot)根据matplotlib中数据点的值更改数据点的颜色数值更大的点颜色更深