2011-11-29 2 views
0

전체, long 및 lat 좌표로 데이터베이스에 저장된 위치가 있습니다. 각 위치에 대한지도를 작성하거나 모든 위치에 대한 표식을 추가하는 것에 대해 논쟁 중입니다. 어떤 조언이 그 아이디어에 감사하지만 내 문제는 내가 내 mySQL 데이터베이스에서 이러한 값을 받고있다. 실제로 추가 할 수있는 유일한 방법은 자바 스크립트를 사용하는 것입니다. 마커를 만들기 위해 자바 스크립트 함수에 좌표를 전달해야합니까? 어떻게 보이 겠어? 모든 제안을 부탁드립니다!PHP로 Google Map 마커 만들기

답변

3

정확합니다. 페이지에 태그 - < 스크립트 유형의

function initialize() { 
    var myLatlng = new google.maps.LatLng(<?php echo $lat; ?>,<?php echo $long; ?>); 
    var myOptions = { 
     zoom: 4, 
     center: myLatlng, 
     mapTypeId: google.maps.MapTypeId.ROADMAP 
    } 
    var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions); 

    var marker = new google.maps.Marker({ 
     position: myLatlng, 
     map: map, 
     title:"Hello World!" 
    }); 
    } 

= "텍스트/자바 스크립트"> : 당신은 데이터베이스에서 데이터를 가져와의 라인을 따라 뭔가를 사용해야합니다. 위의 내용은 http://code.google.com/apis/maps/documentation/javascript/examples/marker-simple.html에서 가져온 것이므로 필요에 맞게 수정해야합니다.

0

예.지도에서 마커를 만들려면 데이터베이스의 긴 좌표와 위도 좌표를 웹 페이지의 자바 스크립트 코드에 전달해야합니다. PHP 코드를 사용하여 페이지를 생성하는 경우 PHP 코드를 작성하여 데이터베이스를 쿼리 한 다음 포함 된 JavaScript 코드로 HTML 페이지를 echo()합니다.

위의 zrvan의 답변은 new google.maps.LatLng()을 사용하여 단일 좌표 개체를 만들고 단일 마커를 그립니다. 단일 맵에 여러 마커를 배치하기로 결정한 경우 마커 용 데이터를 Javascript 배열 데이터 구조에 두는 것이 좋습니다. 그런 다음 배열의 각 항목에 대해 new google.maps.Marker()을 호출하는 자바 스크립트 루프를 작성합니다.

Google지도 문서는 XML 문서 및 AJAX 호출을 사용하여 데이터베이스의 마커 데이터를 웹 페이지로 전달할 것을 권장합니다. http://code.google.com/apis/maps/articles/phpsqlajax.html을 참조하십시오.

하나의지도에 수백 개의 마커가있는 경우 Google지도 API 설명서의 "너무 많은 마커!"라는 용지를 읽으십시오. http://code.google.com/apis/maps/articles/toomanymarkers.html.