#javascript #php #wordpress #leaflet
#javascript #php #wordpress #листовка
Вопрос:
Я повторяю openstreetmaps, установленные на определенную широту и долготу с помощью leafletjs.
Я получаю пользовательские поля из серверной части следующим образом :
$longitude = the_field('longitude','option');
$latitude = the_field('latitude','option');
Я инициализирую листовку в следующей строке с помощью
var map = L.map('map').setView({lon: 0.16033, lat: 52.12676}, 17);
Я хочу заменить то, что идет после lon: на $ longitude, а то, что идет после lat: на $ latitude.
Я попытался поместить свой php в «», чтобы убедиться, что он правильно интерпретируется в javascript. Я использовал json_encode ($ longitude), но я получаю ошибки, такие как «NaN» в консоли.
Как ни странно, когда я проверяю NaN, я получаю ‘false’, что, как я полагаю, указывает на то, что я правильно получаю число из серверной части, которое я хочу использовать для установки длины и широты для карты в javascript.
console.log(isNaN("<?php echo $longitude; ?>"));
Это работает, когда я жестко кодирую число, но не при вводе этих переменных.
Кто-нибудь знает, чего мне не хватает?
Большое спасибо
Ответ №1:
Вы могли бы повторить весь javascript с помощью php … если в скрипте есть двойные кавычки, экранирующие их.Что-то вроде этого…
<?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>";
?>
Чтобы избежать двойных кавычек, просто добавляйте перед каждой двойной кавычкой.