【发布时间】:2020-01-10 06:56:42
【问题描述】:
我的值 $viena_salis 仅在有 6 个其他国家并且所有国家都获得相同的“访问“英国”的计划时才带出最后一个值(在这种情况下是英国)?我尝试将 var contentString 移动到循环中的其他位置,希望结果发生变化,但似乎没有任何效果。此代码在谷歌地图上放置标记,其中包含每个国家/地区注册人数的数字,并且应根据用户角色的类型放置不同的颜色标记(仍在处理彩色标记部分)。
$indivitualios_salys 是一个国家名称数组。
$google maps 是一个包含所有世界国家坐标的数组。
我不知道它有什么问题,在我看来它应该只是循环 js 并回显国家名称,因为if($viena_salis==$gm_salis[0]) 可以正常工作。
如果有人对我做错了什么有任何想法,我们将不胜感激。
P.s 我还是 php 和 js 的新手。
<?php $i=0;
foreach ($indivitualios_salys as $viena_salis) {
$i++;
foreach ($Google_maps as $gm_salis) {
if ($viena_salis==$gm_salis[0]) {
?>
var contentString = '<div id="content" >'+
'<div id= "siteNotice">'+
'</div>'+
'<div id="bodyContent">'+
'<p>Plan on visisting "<?php echo $viena_salis; ?>"?</p>'+
'<p>Check out our <a href="https://biz4good.co/about/">welcome guide</a> </p>'+
'</div>'+
'</div>';
var infowindow = new google.maps.InfoWindow({
content: contentString});
var <?php echo 'marker'.$i; ?> = new google.maps.Marker({
position: {lat: <?= $gm_salis[1]; ?>, lng: <?= $gm_salis[2]; ?>},
map: map,
icon: <?php
foreach ($remeju_id as $con_id){
foreach ($country_user_id as $user_id_country) {
if($con_id==$user_id_country){
echo 'image_green_blue,';
}
if($con_id!=$user_id_country){
echo 'image_green,';
}
else {
echo 'image_blue,';
}
}
}; ?>
label: { color: '#fff', fontWeight: 'bold', fontSize: '14px', text: '<?php echo $elementCount[$viena_salis]; ?>' }
});
<?php echo 'marker'.$i; ?>.addListener('click', function() {
infowindow.open(map, <?php echo 'marker'.$i; ?>);
});
<?php
}
}
};?>
}
编辑: $indivitualios_salys- 看起来像:
Array
(
[0] => Aruba
[1] => Lithuania
[2] => Bolivia
[3] => Ukraine
[4] => Bosnia and Herzegovina
[5] => Greece
[9] => United Kingdom
)
$google_maps 包含所有国家/地区,但简而言之,它看起来像:
Array
(
[0] => Array
(
[0] => Andorra
[1] => 42.546245
[2] => 1.601554
)
[1] => Array
(
[0] => United Arab Emirates
[1] => 23.424076
[2] => 53.847818
)
[2] => Array
(
[0] => Afghanistan
[1] => 33.93911
[2] => 67.709953
)
【问题讨论】:
-
所以你需要 contentString 保存多个值?
-
@AmitSharma 该代码会在地图上的标记上弹出一个可点击的弹出窗口,因为它显示“计划访问(此处为国家名称)”并且这些标记位于不同的国家,因此应该更改,所以是的。
-
@StackSlave 谢谢你的小费,是的,我知道这是一团糟,而且在我使用 django 框架进行大学项目之前,一定有办法更有效地做到这一点,但是一旦我进入实习期(因为它是唯一的选择,因为没有公司使用 python 并接受实习生)我曾经用 php、js、css、wp 等做过事情。所以它和我习惯的不一样。
-
这包含所有值 $viena_salis
-
请举例说明您在
$indivitualios_salys和$Google_maps中的数据是什么样的。另外,我真的建议您不要在 HTML 或 JS 中混合 PHP 块 - 这会使事情变得不必要地难以阅读。
标签: javascript php