2009-06-29 82 views
3

我嘗試使用谷歌地球API來創建地球的一個簡單視圖與搜索領域,用戶可以鍵入一個位置的位置。當他們打去,地球會拉近他們鍵入的位置。尋找與谷歌地球API

我想以尋找他們指定的位置直線下降。我曾嘗試下面的代碼:

var lookAt = ge.createLookAt(''); 
lookAt.set(point.y, point.x, 600, ge.ALTITUDE_RELATIVE_TO_GROUND, 0, 00, 0); 
ge.getView().setAbstractView(lookAt); 

但這總是轉到略微錯誤的位置,

回答

2

難道僅僅是你有point.y和周圍point.x走錯了路?

// latitude, longitude, altitude, altitudeMode, heading, tilt, range 
lookAt.set(point.x, point.y, 600, ge.ALTITUDE_RELATIVE_TO_GROUND, 0, 0, 0); 

如果你說'用戶可以輸入位置',那麼你的意思是你正在對一個條目進行地理編碼嗎?例如,用戶輸入「紐約」還是「M20 1LL」?如果是這樣,你應該認識到,地理編碼不是一門精確的科學,並且結果並不總是準確的(特別是免費的地理編碼服務)。

如果是這種情況,有兩種真正的解決方案;

1)支付使用商業地理編碼服務,以保證準確性。

2)建立自己的數據庫或高速緩存,它包含的「關鍵」的地方預先計算的地址解析器響應。 http://code.google.com/apis/maps/documentation/javascript/v2/services.html#Geocoding_Caching

BTW代碼看起來AOK ......除了對傾斜的雙零(00)...

var lookAt = ge.createLookAt(''); 

// latitude, longitude, altitude, altitudeMode, heading, tilt, range 
lookAt.set(point.y, point.x, 600, ge.ALTITUDE_RELATIVE_TO_GROUND, 0, 0, 0); 

ge.getView().setAbstractView(lookAt);