jquery — gmaps.js добавляет маркер из массива PHP

Я пытаюсь добавить маркер на мою карту gmaps.js. Долго. и лат. значения хранятся в базе данных, которую я выбираю с помощью PHP Script.

Однажды принесла, как долго. и лат. значения хранятся в массиве под переменной $ data.

Я хотел использовать json_encode ($ data); чтобы передать переменные, однако мне пришлось бы изменить заголовок на json-приложение, я уже выложил на страницу немного PHP, поэтому это невозможно.

Теперь я попытался отобразить json_encode в функцию jQuery с помощью цикла $ .each, однако это оказалось неудачным, поскольку не каждая запись, полученная из базы данных, будет иметь маркер.

Какое лучшее решение, чтобы получить удостоверение личности, долго. и лат. значение для максимум 10 записей, передать это в функцию jQuery для позиционирования на карте?

0

Решение

Поскольку не все записи имеют маркеры, вам придется анализировать результаты, чтобы в вашу функцию 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, чтобы перебрать ваш объект

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]