GeoDjango menyediakan beberapa bidang formulir khusus dan widget untuk secara penglihatan menampilkan dan merubah data geolokal pada peta. Secara awalan, mereka menggunakan peta ditenagai-OpenLayers, dengan lapisan WMS dasar disediakan oleh NASA.
Sebagai tambahan pada form field arguments 1 biasa, bidang formulir GeoDjango mengambil argumen pilihan berikut.
Widget formulir GeoDjango mengizinkan anda menampilkan dan merubah data geografis pada peta terlihat. Catat bahwa tidak ada widget-widget tersedia saat ini mendukung geometri 3D, karenanya bidang akan fallback menggunakan widget Textarea
sederhana untuk data tersebut.
Widget GeoDjango adalah berdasarkan-cetakan, jadi atribut-atribut mereka kebanyakan berbeda dari atribut widget Django.
BaseGeometryWidget.
geom_type
¶Jenis geometri OpenGis, umumnya disetel oleh bidang formulir.
BaseGeometryWidget.
map_height
¶BaseGeometryWidget.
map_width
¶Tinggi dan lebar dari peta widget (awalan adalah 400x600).
BaseGeometryWidget.
map_srid
¶Kode SRID digunakan oleh peta (awalan adalah 4326).
BaseGeometryWidget.
display_raw
¶Nilai boolean menentukan jika sebuah masukan textarea menunjukkan perwakilan terserial dari geometri saat ini adalah terlihat, utamanya untuk tujuan mencari kesalahan (awalan adalah False
).
BaseGeometryWidget.
supports_3d
¶Menunjukkan jika edisi dukungan widget dari data 3D (awalan adalah False
).
BaseGeometryWidget.
template_name
¶Cetakan digunakan untuk membangun widget peta.
Anda dapat melewatkan atribut widget dalam cara sama yang untuk widget Django apapun. Sebagai contoh:
from django.contrib.gis import forms
class MyGeoForm(forms.Form):
point = forms.PointField(widget=
forms.OSMWidget(attrs={'map_width': 800, 'map_height': 500}))
BaseGeometryWidget
BaseGeometryWidget
¶Ini adalah sebuah widget dasar jelas mengandung logika dibutuhkan oleh sub kelas. Anda tidak dapat secara langsung menggunakan widget ini untuk bidang geometri. Cata bahwa pembangunan dari widget GeoDjango berdasarkan pada sebuah cetakan, dicirikan oleh atribut kelas template_name
.
OpenLayersWidget
OpenLayersWidget
¶Ini adalah widget awalan digunakan oleh semua bidang formulir GeoDjango. template_name
adalah gis/openlayers.html
.
OpenLayersWidget
dan OSMWidget
menggunakan berkas openlayers.js
disimpan pada content-delivery network cdnjs.cloudflare.com
. Anda dapat mensubkelaskan widget-widget ini untuk menentukan versi anda sendiri dari berkas OpenLayers.js
tailored to your needs dalam sifat js
dari kelas Media
terdalam (lihat Aset sebagai pengertian tetap).
OSMWidget
OSMWidget
¶Widget ini menggunakan lapisan dasar OpenStreetMap untuk menampilkan obyek geografik. Atribut-atribut adalah:
template_name
¶gis/openlayers-osm.html
default_lat
¶default_lon
¶Nilai awalan tengah garis lintang dan bujur 47
dan 5
, masing-masing, yang bertempat di Perancis Timur.
default_zoom
¶Pembesaran peta awalan adalah 12
.
Catatan OpenLayersWidget
tentang penyimpanan berkas JavaScript diatas juga berlaku disini. Lihat juga FAQ answer ini tentang akses https
untuk memetakan ubin-ubin.
Mar 30, 2019