如何将JavaScript变量与PHP生成的JSON绑定?

如何将JavaScript变量与PHP生成的JSON绑定?,javascript,php,arrays,json,Javascript,Php,Arrays,Json,我这里有两个用于google map geolocation的js变量: <script> map = new google.maps.Map(document.getElementById('map'), { center: {lat: "<?php echo $lat; ?>", lng: "<?php echo $lng; ?>"}, zoom: "<?php

我这里有两个用于google map geolocation的js变量:

<script>
    map = new google.maps.Map(document.getElementById('map'), {
        center: {lat: "<?php echo $lat; ?>", lng: "<?php echo $lng; ?>"},
        zoom: "<?php echo $zoom; ?>"
    });
                
    var image = {
        url: "<?php echo $imgurl; ?>",
        scaledSize: new google.maps.Size("<?php echo $mapwidth; ?>","<?php echo $mapheight; ?>")
    };
</script>

map=new google.maps.map(document.getElementById('map'){
中心:{lat:,lng:},
缩放:“
});
变量图像={
url:“”,
scaledSize:new google.maps.Size(“,”)
};
我想用PHP/SQL数据库生成的对象设置一些标记和信息窗口

这是js的原始形式:

<script>
    var marker_config = [
        {
            position: {lat: 34.775974, lng: 120.329628},
            map: map,
            title: 'Place A',
            label: 'A',
            icon: image
        },{
            position: {lat: 35.547591, lng: 115.467302},
            map: map,
            title:'Place B',
            label: 'B',
            icon: image
        },{
            position: {lat: 34.734375, lng: 117.408866},
            map: map,
            title:'Place C',
            label: 'C',
            icon: image
        }
    ];
</script>

变量标记_配置=[
{
位置:{lat:34.775974,lng:120.329628},
地图:地图,
标题:“地点A”,
标签:“A”,
图标:图像
},{
位置:{lat:35.547591,lng:115.467302},
地图:地图,
标题:'Place B',
标签:‘B’,
图标:图像
},{
位置:{lat:34.734375,lng:117.408866},
地图:地图,
标题:'Place C',
标签:‘C’,
图标:图像
}
];
此对象需要上面的键映射和键图标中的js变量

我的PHP数组是这样编写的:

<?php 
    $markarr = [
        array(
            'position'=>array('lat'=>34.775974, 'lng'=>120.329628),
            'map'=>'map',
            'title'=>'Place A',
            'label'=>'A',
            'icon'=>'image'
        ),
        array(
            'position'=>array('lat'=>35.547591, 'lng'=>115.467302),
            'map'=>'map',
            'title'=>'Place B',
            'label'=>'B',
            'icon'=>'image'
        ),
        array(
            'position'=>array('lat'=>34.734375, 'lng'=>117.408866),
            'map'=>'map',
            'title'=>'Place C',
            'label'=>'C',
            'icon'=>'image'
        )
    ];
 ?>

在js块中:

<script>
    var marker_config = JSON.parse(<?php echo json_encode($markarr); ?>);
</script>

var marker_config=JSON.parse();
这就是行不通。我想可能是把变量作为字符串调用的问题。所以,我试着去掉“地图”和“图像”的引号。这也没用。有什么解决办法吗?


<script>
    var marker_config = <?php echo json_encode($markarr); ?>;
</script>

var marker_config=;