Я пытаюсь добавить маркер на мою карту gmaps.js. Долго. и лат. значения хранятся в базе данных, которую я выбираю с помощью PHP Script.
Однажды принесла, как долго. и лат. значения хранятся в массиве под переменной $ data.
Я хотел использовать json_encode ($ data); чтобы передать переменные, однако мне пришлось бы изменить заголовок на json-приложение, я уже выложил на страницу немного PHP, поэтому это невозможно.
Теперь я попытался отобразить json_encode в функцию jQuery с помощью цикла $ .each, однако это оказалось неудачным, поскольку не каждая запись, полученная из базы данных, будет иметь маркер.
Какое лучшее решение, чтобы получить удостоверение личности, долго. и лат. значение для максимум 10 записей, передать это в функцию jQuery для позиционирования на карте?
Поскольку не все записи имеют маркеры, вам придется анализировать результаты, чтобы в вашу функцию js передавались только необходимые данные. Я бы создал массив php и добавил бы маркер, lat, long и т.д … Под тем же ключом:
$markersarray = array ()
foreach($records as $record){
if($record['lat'] != ““){
$markersarray[] = array(
'id'=>$record['id'],
'lat'=>$record['lat'],
'long'=>$record['long']
);
}
}
$markersjson = json_encode($markersarray);
Затем вы можете использовать скрытый ввод для хранения закодированной строки json, которая затем может быть передана в ваш js.
<input id="markersjson" type="hidden" value="<?php echo $markersjson; ?>"/>
в вашей функции JS
var markersdata = $('#markersjson').val();
Возможно, вам придется проанализировать это значение для объекта
var obj = jQuery.parseJSON(markersdata);
затем используйте $ .each, чтобы перебрать ваш объект
Других решений пока нет …