Javascript 在php中显示不同标记颜色的困难
我很难显示不同的标记颜色。此标记色差基于数据库中的值 这是用来显示地图和标记的编码Javascript 在php中显示不同标记颜色的困难,javascript,php,google-maps,google-maps-api-3,google-maps-markers,Javascript,Php,Google Maps,Google Maps Api 3,Google Maps Markers,我很难显示不同的标记颜色。此标记色差基于数据库中的值 这是用来显示地图和标记的编码 <script src="https://maps.googleapis.com/maps/api/js?key=MY_API_KEY" type="text/javascript"> </script> <script type="text/javascript"> var map; function init(){ map = new google.m
<script src="https://maps.googleapis.com/maps/api/js?key=MY_API_KEY"
type="text/javascript">
</script>
<script type="text/javascript">
var map;
function init(){
map = new google.maps.Map(document.getElementById('maps'), {
zoom: 10,
center: new google.maps.LatLng(-7.320795, 112.731386),
mapTypeId: google.maps.MapTypeId.ROADMAP
});
<?php foreach($get_data->result() as $row) {
$nilai = $row->nilai;
if($nilai >= 0 && $nilai <=50) {?>
var icons = {
info: {
icon: '<?php echo base_url("assets/marker_merah.png");?>'
}
};
<?php }elseif($nilai >= 51 && $nilai <=69){ ?>
var icons = {
info: {
icon: '<?php echo base_url("assets/marker_hijau.png");?>'
}
};
<?php }elseif($nilai >= 70) { ?>
var icons = {
info: {
icon: '<?php echo base_url("assets/marker_biru.png");?>'
}
};
<?php }
} ?>
var features = [
<?php foreach($get_data->result() as $row){ ?>
{
position: new google.maps.LatLng(<?php echo $row->lat;?>,<?php echo $row->long;?>),
type: 'info',
title : '<?php echo $row->nama;?>'
},
<?php } ?>
];
// Create markers.
features.forEach(function(feature) {
var marker = new google.maps.Marker({
position: feature.position,
icon: icons[feature.type].icon,
title: feature.title,
map: map
});
});
}
google.maps.event.addDomListener(window, 'load', init);
</script>
var映射;
函数init(){
map=new google.maps.map(document.getElementById('maps'){
缩放:10,
中心:新google.maps.LatLng(-7.320795112.731386),
mapTypeId:google.maps.mapTypeId.ROADMAP
});
变量图标={
信息:{
图标:“”
}
};
变量图标={
信息:{
图标:“”
}
};
变量图标={
信息:{
图标:“”
}
};
变量特征=[
{
位置:新google.maps.LatLng(,),
键入:“info”,
标题:“”
},
];
//创建标记。
features.forEach(函数(feature){
var marker=new google.maps.marker({
位置:feature.position,
图标:图标[feature.type]。图标,
标题:feature.title,
地图:地图
});
});
}
google.maps.event.addDomListener(窗口'load',init);
我想为值0-50显示红色标记,为值51-69显示绿色标记,为值70及以上显示蓝色标记
运行上面的代码后,我发现所有的标记都是绿色的,而红色和蓝色的标记不会出现
请帮助我。您执行以下循环
{
位置:新google.maps.LatLng(,),
键入:“info”,
图标:“”,
图标:“”,
图标:“”,
标题:“”
},
];
//创建标记。
features.forEach(函数(feature){
var marker=new google.maps.marker({
位置:feature.position,
图标:feature.icon,
标题:feature.title,
地图:地图
});
});
}
google.maps.event.addDomListener(窗口'load',init);
我希望这有帮助 Xenomena是对的,你们是互相替换的。。我猜你是从 你必须仔细看看那里有多维数组
var icons = {
parking: {
icon: iconBase + 'parking_lot_maps.png'
},
library: {
icon: iconBase + 'library_maps.png'
},
info: {
icon: iconBase + 'info-i_maps.png'
}
};
因此,我的答案是:
var icons = {
info1: {
icon: 'icons/blue.png'
},
info2: {
icon: 'icons/white.png'
},
info3: {
icon: 'icons/red.png'
}
};
这就是为icon生成mltidimensional数组,然后在数组get_lang中生成我自己的latlong数据,在数组get_data中生成nilai数据:
foreach($get_lat as $i=>$row){ ?>
{
position: new google.maps.LatLng(<?php echo $row[0];?>,<?php echo $row[1];?>),
<?php
if($get_data[$i] <50) {?>
type: 'info1',
<?php } elseif ($get_data[$i] >= 51 && $get_data[$i] <=69){ ?>
type: 'info2',
<?php } else { ?>
type: 'info3',
<?php } ?>
title : "<?php echo $row[0];?>"
},
<?php } ?>
];
foreach($i=>$row){?>
{
位置:新google.maps.LatLng(,),
键入:“info1”,
键入:“info2”,
键入:“info3”,
标题:“
},
];
建议,下次发布代码时,还需要发布示例输入
全厂守则:
希望这有帮助
var icons = {
info1: {
icon: 'icons/blue.png'
},
info2: {
icon: 'icons/white.png'
},
info3: {
icon: 'icons/red.png'
}
};
foreach($get_lat as $i=>$row){ ?>
{
position: new google.maps.LatLng(<?php echo $row[0];?>,<?php echo $row[1];?>),
<?php
if($get_data[$i] <50) {?>
type: 'info1',
<?php } elseif ($get_data[$i] >= 51 && $get_data[$i] <=69){ ?>
type: 'info2',
<?php } else { ?>
type: 'info3',
<?php } ?>
title : "<?php echo $row[0];?>"
},
<?php } ?>
];