문제

마커가 배치되면 입력으로 위도와 경도를 사용하여 PHP 함수 (다른 파일)를 호출하고 페이지의 DIV를 출력합니다. 따라서 마커가 움직일 때마다 기능의 최신 결과로 DIV를 업데이트합니다.

나는 이것을하기 위해 JavaScript가 필요하다는 것을 알고 있지만 나는 그것에 익숙하지 않으며 어떤 도움도 감사 할 것입니다.

도움이 되었습니까?

해결책

다음은 jQuery를 사용하여 마커가 맵에 추가 될 때와 드래그 될 때마다 HTTP GET를 트리거하는 예입니다. 요청의 결과는 "outputDiv"가있는 div에 배치됩니다.

// 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 ()를 사용하여 개별 값을 검색 할 수있는 개체. 보다 Google 매핑 API 참조 자세한 내용은.

다른 팁

비동기 JavaScript와 XML (AJAX)을 사용해야합니다. 주제에 대한 좋은 튜토리얼은 여기에서 찾을 수 있습니다. http://www.w3schools.com/ajax/default.asp.

실제로, 당신은 아마도이 예를 살펴본 후에 당신이 묘사 한 것을 할 수있을 것입니다.

  1. 먼저 JavaScript에서 XMLHTTPREQUEST 객체를 만들어야합니다. http://www.w3schools.com/ajax/ajax_browsers.asp
  2. 그런 다음 읽으십시오 정의하는 방법 OnreadyStateChange () 방법 - 여기서 서버 (호출하려는 함수)가 응답 할 때 발생하는 일을 지정하는 곳입니다.
  3. 그런 다음 요청을 함수로 보내면 다음과 같은 GET 또는 POST 요청으로 PHP 파일을 쿼리하여 호출 할 수 있어야합니다. xmlhttp.open ( "get", "myfunction.php", true); xmlhttp.send (null);

나머지는 튜토리얼을 따르면 괜찮을 것입니다. 팔로우하려면 정말 자습서가 필요합니다 - JavaScript는 복사/붙여 넣기 및 편집하기 쉽습니다 : D

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top