0

だから私はテーブルを持っており、このテーブルには2つの属性緯度と経度があり、どちらもdouble型です。今、必要なすべての行を取得するために SELECT ステートメントを実行する方法についていくつかの考えがありますが、これをまとめる方法や、それが正しいかどうかはわかりません。

基本的に、私は次のようなAndroidマップを持っています:
ここに画像の説明を入力
各ドットは、電話画面の1つの端を表します. 現在、座標は、緯度と経度の 2 つの属性を含む Location オブジェクトの形式になっています。

このグリッド内に経度と緯度を持つすべてのエントリを選択するにはどうすればよいですか? 私の最初の試みは

SELECT * FROM table WHERE (topLeftLatitude < latitude < topRightLatitude) AND (topLeftLongitude < longitude < topRightLongitude)

しかし、これは水平線にあるものだけを選択すると思いますか?DBの問題を10時間解決した後、私はここでかなり混乱しています。

4

1 に答える 1

1

一般に、正方形内で何かを選択するには、4 つの AND ステートメントが必要です。これが Google マップ API に当てはまるかどうかはわかりませんが、次のようになると思います。

SELECT * FROM table WHERE (緯度 > topLeftLatitude) AND (緯度 < topRightLatitude) AND (topLeftLongitude > 経度) AND (bottomLeftLongitude < 経度)

間違っていたら訂正して

于 2013-11-09T21:33:11.323 に答える