Все, У меня есть следующий фрагмент кода:Использование PHP для заполнения массива яваскрипта
function addPoints() {
newpoints[0] = new Array(41.45998, 87.59643, icon0, 'Place', 'Content to open');
for(var i = 0; i < newpoints.length; i++) {
var point = new GPoint(newpoints[i][1],newpoints[i][0]);
var popuphtml = newpoints[i][4] ;
var marker = createMarker(point,newpoints[i][2],popuphtml);
map.addOverlay(marker);
}
}
Существует другой код вокруг этого, чтобы отобразить маркер на моей карте. Однако это значение жестко запрограммировано. У меня есть база данных PHP/mySQL с координатами lat/long вместе с некоторыми другими значениями. Скажем, у меня есть три записи, для которых я хочу создать маркеры. Как передать функцию addPoints в формате lat/long, которую я получил из своей базы данных, чтобы я мог правильно использовать ее в этой функции?
Я обновил свой код, чтобы выглядеть следующим образом для addPoints:
function addPoints(num, lat, long) {
newpoints[num] = new Array(lat, long, icon0, 'Place', 'Stuff name');
alert("The newpoints length is: "+newpoints.length);
for(var i = 1; i < newpoints.length; i++) {
var point = new GPoint(newpoints[i][1],newpoints[i][0]);
var popuphtml = newpoints[i][4] ;
var marker = createMarker(point,newpoints[i][2],popuphtml);
map.addOverlay(marker);
}
}
Я называю эту функцию, делая это:
<script>
addPoints('<?php echo json_encode($num_coordinates); ?>','<?php echo json_encode($lat_coordinates); ?>', '<?php echo json_encode($long_coordinates); ?>');
</script>
Это не работает, хотя. Когда я стараюсь не передавать его в javascript и просто выводить, например, координаты lat. Я получаю следующий результат:
{"1":"40.59479899","2":"41.4599860"}
Каковы правильные координаты в моем массиве. Однако маркеры не создаются. Любые идеи о том, что делать дальше или что я делаю неправильно?
У меня есть петля для отображения вещей на моей странице. Я отправлю различные координаты. Мне нужно передать переменные функции addpoints, такие как addPoints ( Php echo $ i;?>, Php echo $ latitude;?>, Php echo $ longitude;?>, Icon0, 'Place', 'Content to open')? – user1048676
Я думаю, я вижу, где вы собираетесь с этим, но позвольте мне спросить, прежде чем дать вам длинный ответ: 1) Кажется, вам нужно пройти в новых координатах, когда пользователь взаимодействует с картой. Это верно? 2) Я предполагаю, что вы хотите получить координаты с сервера, когда они вам понадобятся, а не загружать все возможные координаты при первой загрузке вашей страницы. Это верно? – Ian
Итак, мои сценарии говорят, что я загружаю рестораны, и их 10. Я пытаюсь пройти в лат/долго каждый из них, чтобы создать маркеры. Тогда пользователь может выбрать бары, а затем мне придется пройти в 15 координатах и т. Д. Я пытаюсь сделать это из PHP-скрипта, потому что я делаю другие вещи с почтовыми индексами и т. Д. – user1048676