вызвать запрос функции php при перемещении маркера карт Google - PullRequest
0 голосов
/ 07 мая 2009

Когда маркер размещен, я хочу вызвать функцию php (в другом файле) с широтой и долготой в качестве входных данных и вывести результат в div на странице. Поэтому всякий раз, когда маркер перемещается, он обновляет div с последним результатом функции.

Я знаю, что для этого мне понадобится JavaScript, но я не очень знаком с ним, и любая помощь будет признательна.

Ответы [ 2 ]

3 голосов
/ 08 мая 2009

Вот пример использования jQuery для запуска HTTP GET при добавлении маркера на карту и при каждом его перетаскивании. Результат запроса помещается в div с идентификатором «outputdiv».

// create and init map (make sure to have a div element with id "map")
var map = new GMap2(document.getElementById("map"));
map.setCenter(new GLatLng(37.4419, -122.1419), 13);

// this is the marker you want to track
var marker = new GMarker(new GLatLng(37.4419, -122.1419));
map.addOverlay(marker);

// create function to be executed on add/end of drag
var changeCallback = function(latlng) {
  // do HTTP GET to execute PHP function in file, with coordinate
  // as parameter and put result in div with id "outputdiv"
  $("#outputdiv").load("test.php?latlng=" + latlng.toUrlValue());
};

// add listener triggered whenever drag of marker has ended
GEvent.addListener(marker, "dragend", changeCallback);

// explicitly call when added
changeCallback(marker.getLatLng());

Обновление для ответа на комментарий: параметр latlng функции обратного вызова - это объект GLatLng , в котором вы можете использовать lat () и lng () для получения отдельных значений. Подробнее см. Справочник по API Карт Google .

0 голосов
/ 07 мая 2009

Вам необходимо использовать асинхронный JavaScript и XML (известный как AJAX). Хороший учебник по этому вопросу можно найти здесь: http://www.w3schools.com/Ajax/Default.Asp.

Фактически, вы, вероятно, сможете делать то, что описали, после того, как пройдете эти примеры.

  1. Сначала вам нужно создать объект XMLHttpRequest в JavaScript следующим образом: http://www.w3schools.com/Ajax/ajax_browsers.asp
  2. Затем прочитайте о , как определить onreadystatechange () метод - здесь вы указываете, что происходит, когда сервер (функция, которую вы хотите вызвать) отвечает.
  3. Затем отправьте запрос в функцию, которую вы сможете вызвать, запросив php-файл с помощью запроса GET или POST, например: xmlhttp.open ("GET", "myfunction.php", true) ; xmlhttp.send (нуль) ;

В остальном просто следуйте инструкциям, и все будет в порядке. Вам действительно нужен учебник, чтобы следовать - javascript довольно легко копировать / вставлять и редактировать: D

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...