這實際上是一個Google Earth API問題,但任何可以適應的地理解決方案都可以。將攝像頭轉換爲特定的經度/緯度(Google Earth API)
我正在使用Google Earth API在地球上的某處動態放置地標。像所有地標一樣,它具有固定的經度和緯度。在這種情況下,高度基本上始終爲0.在放置地標後,用戶可以將相機繞過其他地方並且地標可能不可見。
我希望能夠做的是有一個按鈕,可以讓您自動查看原始地標的方向,而無需更改相機的位置。
在谷歌地球API,用戶的視口是由一個攝像機對象,其具有緯度和經度,以及一個標題(左到右軸)和傾斜(向上和向下的表示軸)。 (lat1,lng1,alt2)如何在地球上有一個固定點(lat1,lng1,alt1),那麼如何計算(lat1,lng2,alt2)的相機的航向和傾斜如此它正面臨着這個位置?
謝謝!這很有幫助,但由於某些原因,它仍然不起作用。 (上面有一個錯字 - 它應該是lng2-lng1,在兩個地方都應該是lng1-lng2)。我無法弄清楚錯誤是在我的代碼中,還是在我的方法中,或者是與Google Earth有關的東西。我得到的結果不會導致根本沒有正確排列的標題。奇怪的是,將相同的值粘貼到他的界面上給我的值不同於他的Javascript代碼。令人沮喪! – nucleon 2013-03-01 20:34:32
這是我目前使用的: var dLon = lng2-lng1; var y = Math.sin(dLon)* Math.cos(lat2); (lat1)* Math.sin(lat2)-Math.sin(lat1)* Math.cos(lat2)* Math.cos(dLon); var brng = Math.atan2(y,x).toDeg(); ...應該工作。但是使用所有十進制度每次都會讓我的結果稍微有點錯誤。嗯... – nucleon 2013-03-01 20:35:07
@nucleon - 你必須將十進制度轉化爲弧度來做計算。即'lat2-lat1 * Math.PI/180' – Fraser 2013-03-02 05:30:58