переменная echo php в javascript leafletjs openstreetmaps

#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>";


?>
 

Чтобы избежать двойных кавычек, просто добавляйте перед каждой двойной кавычкой.