Google지도 앱에 다음 코드가 있습니다. 원하는 것은 마커를 클릭하거나 드래그하여 점 (마커)의 새 위치 (LatLong)를 가져올 수 있습니다.Google지도 마커를 끌 때 클릭하는 방법
내가 그 종류의 어떤 것을 할 때 나는 37.4419, -122.1419의 좌표를 얻는다. 그것이 센터로 지정되어 있기 때문에 이것이라고 확신합니다. 클릭/방금 방아쇠를 당긴/마킹 된 이벤트/마커의 좌표를 얻으려면 어떻게해야합니까?
Javascript와 Google maps API를 모두 사용하여 매우 실망 스럽습니다.
코드 :
var map = null;
var geocoder = null;
var zoom = 15;
var first_point = false;
var boundary = new Array();
var cCount = 0;
var point1;
var point2;
function initialize() {
if (GBrowserIsCompatible()) {
first_point = false;
map = new GMap2(document.getElementById("map_canvas"));
var center = new GLatLng(37.4419, -122.1419);
map.setCenter(center, zoom);
GEvent.addListener(map, "click", function(overlay,point)
{
if (overlay != null)
{}
else
{
var n = boundary.length;
switch (cCount)
{
case 0:
point1 = new GMarker(point,{draggable: true});
map.addOverlay(point1);
cCount++;
GEvent.addListener(point1, "dragend", function()
{
alert('P1 Dragged: '+point);
});
break;
case 1:
point2 = new GMarker(point,{draggable: true});
map.addOverlay(point2);
cCount++;
GEvent.addListener(point2, "dragend", function()
{
alert('P2 Dragged: '+point);
});
break;
case 2:
map.clearOverlays();
cCount=0;
break;
}
}
});
}
}
UPDATE :이 문제를 해결했다. GMarker 객체와 관련하여 끌기, 클릭 및 기타 이벤트는 GLatLng 객체를 매개 변수로 전달합니다. 그래서 요점을 얻고 싶다면 param.lat() 또는 param.lng()를 호출합니다. 여기에 코드를 참조하십시오
GEvent.addListener(point2, "dragend", function(pnt)
{
alert('P2 Dragged: '+pnt.lat()+" , "+pnt.lng());
document.getElementById("point2").innerHTML="";
document.getElementById("point2").innerHTML=point;
});
작동하지 않는 것 같습니다. 노력해 줘서 고마워. – conor
이상하게 들리면 새 초기화 코드를 보여 주시겠습니까? – antyrat
내가 한 모든 것은 오버레이를 추가하고 당신이 말한 것처럼 함수 매개 변수를 가리키는 것입니다. – conor