0

関数から返された値GEView.getViewportGlobeBoundsを画面上の実際のビューと手動で比較すると、マイナーな (ただし、現在のニーズにとっては重要な) 違いが見られます。

実際には、ほとんどの場合、関数から返された値はビューにありません。

なぜこれが起こるのですか?より正確な値を取得する方法はありますか?

編集 (コード):

function getExtentNorth() {
  document.getElementById("ExtentNorth").value=ge.getView().getViewportGlobeBounds().getNorth ();
}
4

1 に答える 1

0

これは予想される動作です。GEView.getViewportGlobeBoundsのドキュメントを読むと、それがわかるはずです...

現在表示されている地球の領域を完全に含む境界ボックスを返します。返されるボックスは、表示されているものをすべて含める必要がある場合、厳密に表示されているものよりも大きくなります。

(私の強調)

スクリーンへの投影が機能する方法は、各境界が各方向で最も遠くに見える点を含むため、境界ボックスにはほとんどの場合、現在表示されている領域よりも多くの領域が含まれることを意味します。

そのため、地球を「近く」や「真下」以外の場所から見ている場合、まさに期待どおりの結果が得られます。

この原則は、この例で非常によく説明されています。

于 2013-01-09T00:19:00.023 に答える