вызвать запрос функции php при перемещении маркера карт Google

StackOverflow https://stackoverflow.com/questions/836404

Вопрос

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

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

Это было полезно?

Решение

Вот пример использования 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 .

Другие советы

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

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

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

    Лицензировано под: CC-BY-SA с атрибуция
    Не связан с StackOverflow
    scroll top