3

Django、Geodjango、OpenLayers、PostGIS を使用して Web マッピング アプリケーションを作成しています。コンボ ボックスから選択された都市の位置に OpenLayers ベースマップをズームしたいのですが、緯度/経度座標とズーム レベルを OpenLayers に渡すことでこれを実行できると思います。

以下に示すように、選択した都市のフィルターを使用して django クエリを実行し、返された QuerySet の重心を計算するビュー関数があります。

centroid = LGA.objects.get(name=lga).geom.centroid

現在マップの中心を設定している方法は、次のコードを使用して静的に行っています。

var center = new OpenLayers.LonLat(133.0, -27.0).transform(
    new OpenLayers.Projection("EPSG:4326"),
    map.getProjectionObject()
    );

これらの座標はオーストラリアの中心ですが、緯度と経度の変数を持つ Django テンプレートを使用して、選択した都市の地図の中心を動的に設定したいと考えています。ビュー関数で計算した重心から緯度と経度を取得する方法がわかりません。または、座標ではなくジオメトリを渡して OpenLayers にマップの中心を設定する別の方法があるかどうかもわかりません。

助けてくれてありがとう。

4

2 に答える 2

0

ジオメトリ ポイントのフォーマットは何ですか? 例を挙げていただけますか?私の理解では、ジオメトリ ポイントは射影EPSG:4236 (緯度と経度用) ではなく、他の形式 (射影) ですよね? 通常の方法は、Point.transformメソッドを使用して Openlayers で投影を変換しますが、GeoDjango では計算しません。

于 2013-09-24T22:26:50.007 に答える