2012-09-05 5 views
1

Google API 문서의이 코드를 가지고 있습니다. 그것은 내가 놓은 마커의 위도와 경도를 얻을 수 있어야한다는 것을 제외하고는 원하는 것입니다.제출할 필드로 마커 위치 가져 오기

내 사이트에서지도의 위치를 ​​선택할 수있는 옵션을 사용 설정했지만 고객이 설정 한 마커에서 위도와 경도 정보를 가져와야합니다. 데이터가 게시 될 때 나는 그들을 저장할 수 있습니다 $_POST.

내가 지금 가지고있는 코드는 다음과 같습니다

<!DOCTYPE html> 
<html> 
    <head> 
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no" /> 
    <style type="text/css"> 
     html { height: 100% } 
     body { height: 100%; margin: 0; padding: 0 } 
     #map_canvas { height: 100% } 
    </style> 
    <script type="text/javascript" 
     src="http://maps.googleapis.com/maps/api/js?key=jsdlkajslkdjaslkdja&sensor=false&language=ar&region=SAU"> 
    </script> 
    <script type="text/javascript"> 
var map; 
var markersArray = []; 

function initialize() { 
    var haightAshbury = new google.maps.LatLng(26.1631, 50.2044188); 
    var mapOptions = { 
    zoom: 7, 
    center: haightAshbury, 
    mapTypeId: google.maps.MapTypeId.TERRAIN 
    }; 
    map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions); 

    google.maps.event.addListener(map, 'click', function(event) { 
    addMarker(event.latLng); 
    }); 
} 

function addMarker(location) { 
    marker = new google.maps.Marker({ 
    position: location, 
    map: map 
    }); 
    markersArray.push(marker); 
} 

// Removes the overlays from the map, but keeps them in the array 
function clearOverlays() { 
    if (markersArray) { 
    for (i in markersArray) { 
     markersArray[i].setMap(null); 
    } 
    } 
} 

// Shows any overlays currently in the array 
function showOverlays() { 
    if (markersArray) { 
    for (i in markersArray) { 
     markersArray[i].setMap(map); 
    } 
    } 
} 

// Deletes all markers in the array by removing references to them 
function deleteOverlays() { 
    if (markersArray) { 
    for (i in markersArray) { 
     markersArray[i].setMap(null); 
    } 
    markersArray.length = 0; 
    } 
} 
    </script> 
    </head> 
    <body onload="initialize()"> 
    <div id="map_canvas" style="width:100%; height:100%"></div> 
    </body> 
</html> 

내가 주로이의 JS 측면에서 도움이 필요합니다.

+0

을, 당신이 위도를 저장할와 경도 그리고 그/그녀가 끝나면, POST를 통해 모든 포인트를 보내주십시오? –

답변

1

모든 마커가 포함 된 markersArray 변수가 있습니다.

루프는 배열을 통해, 당신은 쉽게 1 개 마커에 제한 item.getPosition().lat()

<edit>


item.getPosition().lng()를 사용하여 각 항목에 대한 위도/LNG를 얻을 것이다. 이에

google.maps.event.addListener(map, 'click', function(event) { 

:이 라인 변경 내가 제대로 이해한다면, 그래서 사용자가 마커를 배치 할 때마다

google.maps.event.addListenerOnce(map, 'click', function(event) { 

</edit>

+0

하나의 마커로만 어떻게 제한 할 수 있습니까? 나는 그들에게 하나 이상의 마커를 놓기를 원하지 않는다. –

+0

위의 편집보기 –