이것은 구체적으로 Google 어스 API 질문이지만, 이에 맞게 조정할 수있는 일반 지리적 솔루션도 좋습니다.카메라를 특정 위도/경도로 바꾸기 (Google 어스 API)
Google 어스 API를 사용하여 장소 어딘가에 위치 표시를 동적으로 배치하고 있습니다. 모든 장소 표시와 마찬가지로 고정 위도와 경도를 갖습니다. 이 경우 고도는 기본적으로 항상 0입니다. 장소 표시를 배치 한 후 사용자가 카메라를 다른 곳으로 돌릴 수 있으며 장소 표시가 보이지 않을 수 있습니다.
카메라의 위치를 변경하지 않고 원래 위치 표시 의 방향으로 자동으로 볼 수있게 해주는 버튼이 있습니다.. 구글 어스 API에서
는 사용자의 뷰포트는 위도와 경도뿐만 아니라을 향하고 (왼쪽에서 오른쪽으로 축) 및 (상하 경사가있는 카메라 객체로 표현된다 중심선).그래서 질문을 줄일 수 있습니다 : 지구본에 (lat1, lng1, alt1)의 고정 점이있는 경우 (lat1, lng2, alt2)에서 카메라의 표제와 기울기를 계산하는 방법은 무엇입니까? 그 위치를 직면하고 있다고? 이 링크 여기 http://www.movable-type.co.uk/scripts/latlong.html
에서 '지지'섹션
고마워요! 이것은 어떤 이유로 든 여전히 효과가 없지만 도움이됩니다. (위의 오타가 있습니다. lng1-lng2와 같이 두 위치 모두에서 lng2-lng1이어야합니다.) 오류가 내 코드 또는 내 접근법 또는 Google 어스와 관련된 것인지 파악할 수 없습니다. 제목이 올바르게 정렬되지 않은 결과를 얻습니다. 이상한 점은 인터페이스에 같은 값을 붙여 넣으면 자바 코드와 다른 값을 얻을 수 있다는 것입니다. 실망! – nucleon
다음은 현재 사용중인 기능입니다. var dLon = lng2-lng1; var y = Math.sin (dLon) * Math.cos (lat2); var x = Math.cos (lat1) * Math.sin (lat2) -Math.sin (lat1) * Math.cos (lat2) * Math.cos (dLon); var brng = Math.atan2 (y, x) .toDeg(); ... 작동해야합니다. 그러나 모든 십진수도를 사용하면 매번 약간의 잘못된 결과가 나옵니다. 음 ... – nucleon
@nucleon - 계산을 수행하려면 십진수를 라디안으로 변환해야합니다. 즉'lat2-lat1 * Math.PI/180' – Fraser