在javascript传单js openstreetmap中回显php变量

echo php variable in javascript leafletjs openstreetmaps

我正在用 leafletjs 回显一个设置为特定纬度和经度的 openstreetmaps。

我是这样从后端获取自定义字段的:

$longitude = the_field('longitude','option');

$latitude = the_field('latitude','option');

我在下一行用

初始化传单
var map = L.map('map').setView({lon: 0.16033, lat: 52.12676}, 17);

我想用 $longitude 替换 lon: 之后的内容,用 $latitude 替换 lat: 之后的内容。

我已经尝试将我的 php 放入“”以确保它在 javascript 中被正确解释。我使用了 json_encode($longitude) 但我在控制台中收到诸如“NaN”之类的错误。

奇怪的是,当我检查 NaN 时,我得到 'false',我相信这表明我从后端正确获取了一个数字,我想用它来设置地图的经度和纬度javascript.

console.log(isNaN("<?php echo $longitude; ?>"));

当我对数字进行硬编码时有效,但在引入这些变量时无效。

有人知道我错过了什么吗?

非常感谢

你可以用 php 回显整个 javascript...如果脚本有双引号转义 them.Something 像这样...

<?php
$longitude = the_field('longitude','option');

$latitude = the_field('latitude','option');

echo  "<script> //code var map = L.map('map').setView({lon: $longitude, lat: $latitude}, 17); //code </script>";


?>

要转义双引号,只需在每个双引号前添加 \。