Google Maps API Javascript извлекает данные в переменную из таблицы MySQL

Я работаю над сценарием, который будет извлекать переменную из моей базы данных MySQL, вот пример кода Google дает мне.

var beaches = [
  ['Bondi Beach', -33.890542, 151.274856, 4],
];

и теперь вот что я пытаюсь достичь,

у меня есть таблица с полями, ID, пляж, лонг, лат

Как бы я заменил переменную пляжа, чтобы извлечь из моей таблицы MySQL вместо того, чтобы идти и вручную добавлять пляж в переменную. Таким образом, когда пользователи добавляют имя пляжа с долготой и широтой в БД через мою форму, он автоматически добавляет маркер на мои карты Google.

Я выполняю оверлеи ComplexIcon с помощью Google Maps API v3

https://developers.google.com/maps/documentation/javascript/overlays#ComplexIcons

Я предполагаю, что я собираюсь использовать AJAX? Я никогда раньше не использовал AJAX, поэтому, если это так, я думаю, мне лучше подтянуть свои AJAX-таты :)

Ответы на вопрос(2)

Да, вы должны сделать это с помощью AJAX. Например, я буду использовать jQuery

$.ajax({
    url: formSubmitUrl,
    data: 'id=1&lat=23.444...',
    type: 'GET',
    success: function (data)
    {
        // data = response from the script
        // if every thing is ok, I return the string 'OK'
        if(data == 'OK')
        {
            var pMarker = new google.maps.Marker({
                position: new google.maps.LatLng(lat, lng),
                map: map,
                icon: yourMarkerimage
            });
        }
    }
});

И это все со стороны клиента. Отправьте форму через AJAX, а затем добавьте маркер на карту

Решение Вопроса

Javascript в браузере пользователя не может получить доступ к вашей базе данных напрямую (что хорошо!), Но он может запрашивать данные на вашем сервере, и AJAX вполне может быть подходящим вариантом, если вы хотите динамических обновлений. У Google есть статья:https://developers.google.com/maps/articles/phpsqlajax_v3

Однако более вероятно, что вам просто потребуется получить данные маркера при отправке страницы в браузер, и вы можете сделать это, создав страницу на PHP или другом серверном языке, используя аналогичные методы для извлечения данных из базы данных и использовать значения непосредственно в коде страницы.

Возможно, вам понадобится сделать и то и другое, чтобы создать начальную страницу, которую пользователь получает, и обновить ее через AJAX, чтобы изменились только данные, и вам не нужно обновлять всю страницу.

[Примечание: вам не нужно использовать XML для асинхронной передачи данных, вы можете использовать JSON для его форматирования или любой другой формат, для которого вы можете кодировать. Но XML - это легко, и есть множество примеров.]

 Aaron Russell17 мая 2012 г., 09:49
Ссылка, которую вы предоставили, действительно указала мне правильное направление, чтобы лучше понять, что я пытаюсь сделать и как это сделать. Большое спасибо!

Ваш ответ на вопрос