Я создал карту Google, используя JavaScript (v3 api). Я набрал пару маркеров, чтобы показать, что это можно сделать. Я добавил текст в текстовое поле, специфичное для каждого маркера, чтобы увидеть, можно ли это сделать. Оба маркера и текстовое поле уродливые, но это проблема для другого дня. Карта занимает около 75% ширины экрана и 100% высоты экрана. У меня есть mySQL db сообщений пользователя. Данные включают в себя сообщение #id, категорию, IP-адрес, значение долготы, значение широты, город, имя пользователя, заголовок и содержимое сообщения. Я «плавал» таблицу, содержащую категорию post и загоняясь рядом с картой, используя PHP для запроса db, перетаскивая строки db в массив и используя это как источник для таблицы. Это занимает оставшуюся часть ширины дисплея.Передача php массива на javascript
Прекрасно, до сих пор.
Я хочу добавить маркер для каждого сообщения, чтобы маркер находился по долготе и широте, с которых возникла почта. Я хочу добавить контент в текстовое поле маркера, которое является специфическим для этого сообщения (например, город, имя пользователя, заголовок сообщения, почтовый контент). Кроме того, я хочу, чтобы уметь связывать сообщения в отображаемой таблице с маркерами карт, чтобы, например, событие мыши на конкретном столбце в таблице могло привести к тому, что текстовое поле, связанное с этим маркером, станет видимым ,
Но я не могу найти способ передать массив PHP на Google Map JavaScript, чтобы я мог использовать его для добавления маркеров по мере необходимости. Я еще не смог найти способ связать мышь с событием на объекте, внешнем по отношению к карте Google, на маркер карты Google.
Я провел обширные исследования и нашел похожие запросы для первого - передал массив PHP в JavaScript. Предлагаемое решение обычно заключается в создании строки из массива PHP с каким-то разделителем, например. запятую и передать это JavaScript, где он преобразован в массив. Я не верю, что это будет работать в моем случае.
Мой текущий код находится в одном файле. Материал стиля находится в разделе стиля раздела html head и может быть перемещен в отдельный файл css позже. Карт Google JavaScript находится в разделах сценариев, снова в html-заголовке и может быть перемещен в отдельный файл js. Тело содержит только немного html-divs для карты-canvas и таблицы с PHP для получения строк базы данных в одном массиве PHP и для создания html для таблицы.
Я знаю, что «PHP - это серверная технология, а JavaScript - клиентская сторона», как было указано много раз. Но наверняка должен быть какой-то способ передать массив данных, полученный PHP из SQL db (а не того, что источник данных особенно уместен) для кода JavaScript?
Прошу прощения за то, что вы так многословие, и если на мои вопросы был дан ответ, я пропустил или неправильно понял. Или, если я особенно глуп.
Позаботьтесь.
Майк
Добавление отредактировав оригинальный пост.
OK. Возможно, я нашел ответ на мой второй вопрос: как создать ссылку с внешнего элемента на маркер карты Google. http://econym.org.uk/gmap/mouseover.htm Всегда путь, после отказа от поиска чего-то, что элемент найден.
Майк
Вы всегда можете сделать AJAX вызов из ваших JS на страницу PHP, и есть страница PHP возвращает данные в формате JSON. Или у вас есть дамп PHP объекта JSON в ваш скрипт напрямую (брутто). – Chad
Json array, вероятно, будет самым простым. – Pitchinnate
Несомненно, как вы набрали этот вопрос, сайт SO должен был предложить похожие вопросы, такие как [этот] (http://stackoverflow.com/questions/4885737/pass-a-php-array-to-a-javascript-function)? – Spudley