저는 현재 대학 프로젝트 중 하나에 간단한 웹 앱 프로토 타입을 코딩하려고합니다. Javascript를 처음 접했을 때 약간의 문제가 있습니다.computeDistanceBetween을 사용하여 사용자의 현재 위치와 고정 위치 사이의 거리를 계산합니다.
사용자의 현재 위치에 마커를 떨어 뜨린지도와 고정 된 지점에 마커를 작성했습니다. 여기에 지금까지 자바 스크립트입니다 : 여기
var map;
function load() {
var myOptions = {
zoom: 14,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById("map"), myOptions);
navigator.geolocation.getCurrentPosition(displayOnMap);
}
var pin;
function displayOnMap(position) {
var latitude = position.coords.latitude;
var longitude = position.coords.longitude;
var initialLocation = new google.maps.LatLng(latitude, longitude);
map.setCenter(initialLocation);
var marker = new google.maps.Marker({
map: map,
position: initialLocation,
});
loadMarkers();
}
function loadMarkers() {
var xmlMarkersRequest = new XMLHttpRequest();
xmlMarkersRequest.onreadystatechange = function() {
if (xmlMarkersRequest.readyState === 4) {
var xml = xmlMarkersRequest.responseXML;
var markersArray = xml.documentElement.getElementsByTagName("marker");
for (var i = 0; i < markersArray.length; i++) {
var id = Number(markersArray[i].getAttribute("id"));
var latitude = markersArray[i].getAttribute("latitude");
var longitude = markersArray[i].getAttribute("longitude");
var point = new google.maps.LatLng(
parseFloat(latitude),
parseFloat(longitude));
var marker2 = new google.maps.Marker({
map: map,
position: point,
zIndex: id
});
}
}
}
xmlMarkersRequest.open('GET', 'markers.xml', false);
xmlMarkersRequest.send(null);
}
모든 것이 내가이 원하는 방법을 정확하게 작동합니다.
나는 computeDistanceBetween을 사용하여 사용자의 초기 위치 (initialLocation)와 마커의 위치 사이의 거리를 반환하는 방법을 모르겠습니다.
마커 정보는 원래 하나 이상을 추가하려고했기 때문에 XML 파일에 저장됩니다. 하지만 내 사이트에만 하나의 마커가 필요합니다, 그래서 만약 내가 고정 마커의 정보를 자바 스크립트 대신 작성해야 할 문제가 아니에요.
이 질문에 대한 답변을드립니다.
[최소, 완료, 테스트 및 읽기 가능 예제] (http://stackoverflow.com/help/mcve)를 제공 할 수 있습니까? 직선 (까마귀가 날아 오듯이) 거리, 또는 주행 거리를 원하십니까? XML의 샘플뿐만 아니라 게시 된 코드에서 함수를 호출하는 방법의 예가 유용 할 것입니다. – geocodezip