Java 脚本中 CSV 文件中的多个条目

multiple entries from csv files in java script

本文关键字:文件 脚本 CSV Java      更新时间:2023-09-26
 var marker = new google.maps.Marker({
    position: myLatlng, 
    map: map,
    title:"Hello World!"
});
        <?php 
    $fd = fopen ("landmarks.csv", "r");
    echo "var latlngarr=new Array();";
    $i=0;
    echo "var markerarr=new Array();";
    while (!feof ($fd)) {
        $buffer = fgetcsv($fd, 4096); 
        echo "var latlngarr[$i] = new google.maps.LatLng($buffer[2],$buffer[3]);";
        echo "var markerarr[$i] = new google.maps.Marker({
            position: latlngarr[$i], 
            map: map,
            title:$buffer[1]";
        });
        $i++;
    }
    fclose ($fd);
    ?>

我想在谷歌地图中创建多个标记。第一个条目有效...但是CSV文件中的其他文件不起作用?混合的 php 和 Javscript 代码有什么问题吗?

在字符串周围添加引号并修复缺失的}

var marker = new google.maps.Marker({
position: myLatlng, 
map: map,
title:"Hello World!"
});
<?php 
$fd = fopen ("landmarks.csv", "r");
echo "var latlngarr=new Array();";
$i=0;
echo "var markerarr=new Array();";
while (!feof ($fd)) {
    $buffer = fgetcsv($fd, 4096); 
?>
    latlngarr[<?= $i ?>] = new google.maps.LatLng(<?= $buffer[2] ?>, <?= $buffer[3] ?>);
    markerarr[<?= $i ?>] = new google.maps.Marker({
        position: latlngarr[<?= $i++ ?>], 
        map: map,
        title: '<?= $buffer[1] ?>'
    });
<?php
}
fclose ($fd);
?>

我猜可能来自CSV文件的数据没有正确引用,尤其是title属性。从 PHP 动态构建 Javascript 时,应始终使用 json_encode():

$b2 = json_encode($buffer[2]);
$b3 = json_encode($buffer[3]);
$title = json_encode($buffer[1]);
echo "var latlngarr[$i] = new google.maps.LatLng($b2,$b3);";
echo "var markerarr[$i] = new google.maps.Marker({
     position: latlngarr[$i], 
     map: map,
     title: $title";
});

使用json_encode可以保证这些PHP变量中的任何内容都将被翻译成语法正确的Javascript。