Lebih

Membuat kondisi if-else dengan ArcGIS API untuk kotak kombo JavaScript?

Membuat kondisi if-else dengan ArcGIS API untuk kotak kombo JavaScript?


Saya memiliki Aplikasi Web ArcGIS JavaScript API yang menggunakan beberapa kotak kombo. Saya ingin membuat pernyataan kondisional if-else antara dua bidang di lapisan fitur saya. Jika satu bidang dipilih dalam kotak kombo satu adalah 1 maka kotak kombo tiga akan secara otomatis terisi menjadi 3.

Di bawah ini adalah fungsi validasi saya untuk jenis permintaan saya.

function changeonevent() { (dijit.byId("cbRequestType").on('change'), changeonevent (MFValue) { if (MFValue == 'Electronic Waste') { dijit.byID("cbMFSubType").set (' value', 'Copy Machine'); } else if MFValue == '… '{ dijit.by.ID('cbMFSubType').set('value', 'Printer'); }

Maaf untuk komentar singkat, saya bisa menjelaskan di sini. Mengatakanfoodanbatangadalah dijits kotak kombo Anda:

dijit.byId('foo').on('change', function (new_value) { if (new_value == 'multi_family_refuse') { dijit.byId('bar').set('value', 'bar value 1' ); } else if (new_value == '… ') { dijit.byId('bar').set('value', 'bar value 2'); } else {… } });

jika Anda memiliki banyak negara bagian yang berbeda, coba gunakanberalihpernyataan sebagai gantinya.

Menggunakan contoh Anda yang diperbarui:

dijit.byId("cbRequestType").on('change', function (MFValue) { if (MFValue == 'Electronic Waste') { dijit.byID("cbMFSubType").set('value', 'Copy Machine' ); } else if MFValue == '… '{ dijit.by.ID('cbMFSubType').set('value', 'Printer'); } });

Layanan dan pencari geocode

Proses geocoding mengubah representasi tekstual dari suatu tempat atau alamat menjadi representasi peta lokasinya. Geocoding memungkinkan Anda untuk menemukan dan menampilkan alamat di peta dan melihat bagaimana mereka berhubungan dengan fitur di sekitarnya. Terkadang Anda dapat melihat hubungan dengan meninjau peta di lain waktu, Anda dapat menggunakan alat analisis spasial untuk mengungkapkan informasi yang tidak dapat dilihat dengan mudah. Pekerjaan geocoding dilakukan oleh layanan yang disebut locator.

Pencari membantu pengguna menemukan alamat, tempat menarik, parsel, dan aset lainnya. Di ArcGIS Enterprise , pencari didukung oleh layanan geocode. Mereka mendukung berbagai aplikasi, mulai dari manajemen bisnis dan pelanggan, hingga pengiriman dan distribusi, hingga petunjuk arah dan navigasi. Pencari lokasi harus dapat membuat geocode lokasi secara efisien di area yang diminati, baik dari satu kueri (sebagai bilah alamat di aplikasi seluler) atau kueri batch (seperti saat file tabel di-geocode ke dalam kelas fitur).

Ada banyak locator dan layanan geocode yang tersedia secara komersial, seperti ArcGIS World Geocoding Service . Namun, locator ini mungkin tidak memenuhi kebutuhan spesifik organisasi Anda, dan tidak memberikan fleksibilitas untuk membuat locator menggunakan data aset dan alamat yang dikumpulkan dan dikelola oleh organisasi Anda.

Dengan menginvestasikan waktu untuk membangun locator Anda sendiri, Anda dapat memastikan bahwa kebutuhan geocoding Anda terpenuhi. Misalnya, perusahaan utilitas lokal dapat membangun locator menggunakan koleksi meter pintarnya di dalam kota, membuat geocoding setiap meter untuk merencanakan rute bagi pembaca meterannya.

Anda dapat membuat locator Anda sendiri di ArcMap atau ArcGIS Pro .

Jika Anda bekerja di ArcGIS Pro , Anda dapat membagikan pencari lokasi Anda yang telah selesai ke portal ArcGIS Enterprise Anda, yang juga akan menerbitkan layanan geocode ke situs ArcGIS Server federasinya. Selain itu, Anda dapat mempublikasikan layanan geocode ke situs Server ArcGIS yang berdiri sendiri mulai dari ArcGIS Pro 2.4.

Jika Anda bekerja di ArcMap , Anda hanya dapat membagikan pencari lokasi Anda yang sudah selesai ke ArcGIS Server sebagai layanan geocode.

Setelah locator atau layanan geocode berada dalam penerapan ArcGIS Enterprise, Anda dapat menggunakannya di aplikasi klien, termasuk Map Viewer dan ArcGIS Web AppBuilder .


Pengguna Arc Online

Peta Tumpahan Minyak Teluk Meksiko Esri menunjukkan informasi geografis sukarela (VGI) beraksi. VGI adalah istilah yang diterapkan pada informasi geografis yang telah dikumpulkan dan dimasukkan secara sukarela oleh individu. Situs ini berfokus pada tumpahan minyak besar-besaran yang dimulai pada 20 April 2010, sebagai akibat dari ledakan dan kebakaran di atas rig pengeboran semi-submersible.

Situs Web VGI memfasilitasi pembuatan, perakitan, dan penyebaran konten yang dibuat pengguna. Pada peta dasar yang disediakan, pengguna dapat menentukan konten mereka sendiri berdasarkan pengetahuan langsung tentang geografi lokal. Aplikasi peta Tumpahan Minyak didukung oleh ArcGIS Server 10 beta yang dihosting di infrastruktur Amazon Web Service. Ini menggabungkan informasi yang disediakan VGI seperti tautan ke foto online, situs Web, umpan GeoRSS, tweet, dan video YouTube yang digabungkan dengan data peta dasar otoritatif yang mencakup cakupan peta jalan, citra satelit, peta topografi, grafik navigasi, dan data sensitif lingkungan. situs. Pengunjung dapat menempatkan informasi baru di peta dengan memilih ikon fitur, mengklik peta, dan menautkan ke konten yang akan ditambahkan. Pelajari lebih lanjut dengan mengunjungi situs.

VGI adalah contoh spesifik dari model pengumpulan informasi berbasis komunitas yang menampilkan konten yang dikembangkan oleh pengguna akhir. Amazon dan Trip Advisor adalah contoh umum dari situs yang menggabungkan komentar komunitas pengguna. Komentar ini memberikan informasi dari konsumen nyata dengan pengetahuan langsung tentang subjek dan membantu pembeli potensial dalam membuat keputusan. Anda mungkin juga sudah akrab dengan situs yang mempromosikan kolaborasi geo dan pemetaan komunitas. Open Street Map dan WikiMapia adalah contoh dari jenis situs ini. Situs ini dan situs geokolaborasi serupa lainnya menyediakan akses ke sumber data informal dan pengetahuan lokal tentang geografi suatu tempat.

Sampel interaktif ini digunakan untuk mendemonstrasikan fungsionalitas pengeditan Web dasar. Pengembang dapat menggunakan kode sampel untuk menambahkan pengeditan Web ke aplikasi Web kustom.

Semua situs yang bergantung pada konten buatan pengguna harus memotivasi orang untuk bertindak secara sukarela. Kontributor perlu memahami bagaimana konten yang mereka kumpulkan mendukung tujuan situs secara keseluruhan. Selain itu, situs yang mengizinkan pengguna akhir memasukkan informasi harus dikelola oleh administrator untuk memastikan bahwa konten yang diposting kredibel, relevan, dan tidak menyinggung konten atau bahasa dan untuk menghindari masalah pelanggaran hak cipta. Ketika pengguna akhir telah berhasil dimotivasi dan berkontribusi pada peta, administrator memfilter geometri peta untuk menghindari kekacauan yang dapat membuat peta tidak terbaca. Misalnya, di tempat-tempat yang memiliki cakupan peta yang kurang detail atau pemetaan yang sudah usang atau ekspresif, masuknya informasi secara cepat oleh komunitas pengguna dapat menghasilkan peta yang memiliki bentuk yang tumpang tindih. Administrasi situs dibahas lebih lengkap nanti di artikel ini.

Persyaratan untuk Membangun Situs VGI Menggunakan ArcGIS 10

Membuat situs VGI tidak hanya membutuhkan perakitan orang dan perangkat lunak tetapi juga merancang alur kerja, skema data, geodatabase, dan template peta. Sebuah diskusi tentang persyaratan ini berikut.

Orang-orang

Proses merancang, membangun, mengimplementasikan, dan mengelola situs dan mengimplementasikan pengeditan Web akan membutuhkan satu atau lebih profesional GIS dengan pengetahuan tentang ArcSDE, desain geodatabase, dan penggunaan ArcMap untuk desain peta Web dan keakraban dengan layanan penerbitan menggunakan ArcGIS Server. Satu atau lebih orang juga akan diperlukan untuk bertindak sebagai administrator situs untuk menjaga kredibilitas konten. Secara opsional, peran administrator dapat dibatasi untuk menyiapkan kebijakan keamanan untuk memastikan bahwa data hanya diakses dan/atau diedit oleh sekelompok orang tertentu. Namun, faktor terpenting bagi keberhasilan situs adalah komunitas pengguna yang bersedia menjadi sukarelawan informasi.

Komponen Perangkat Lunak yang Diperlukan

Aplikasi Web untuk mengumpulkan data harus menggunakan ArcGIS 10 dan salah satu API Pemetaan Web ArcGIS yang telah dikonfigurasi sehingga semua komponen untuk mengedit data geografis diaktifkan. Komponen berikut, dikonfigurasi seperti yang dijelaskan di sini, diperlukan saat menyiapkan situs VGI:

  • Geodatabase ArcSDE berisi fitur yang disiapkan untuk menangani pengeditan Web handling
  • Dokumen ArcMap yang mereferensikan satu atau lebih kelas fitur dari geodatabase ArcSDE
  • Template fitur yang mendefinisikan properti yang diperlukan untuk membuat fitur baru
  • Dokumen peta dan templat terkaitnya, diterbitkan sebagai layanan peta dengan akses fitur
  • Aplikasi Web dengan kontrol UI untuk mengedit geometri dan/atau atribut

Merancang Alur Kerja Skema Kelas Fitur ArcSDE

Mulailah dengan menyiapkan kelas fitur ArcSDE yang akan berpartisipasi dalam alur kerja pengeditan. Ingatlah bahwa bidang dan namanya (atau alias, jika tersedia) akan terlihat oleh pengguna akhir aplikasi pengeditan. Setelah kelas fitur ditambahkan ke ArcMap sebagai lapisan, properti tabel, seperti nama alias dan visibilitas, dapat disetel lebih lanjut. Harap dicatat bahwa urutan bidang hanya dapat ditentukan dalam tabel kelas fitur, jadi mereka harus dalam urutan yang Anda ingin pengguna akhir untuk melihatnya di aplikasi Web. Beberapa hal lain yang perlu diperhatikan pada tahap persiapan data ini antara lain:

  • Membuat kelas fitur geodatabase terpisah untuk mendukung pengeditan Web jika konten juga ada di geodatabase otoritatif
  • Bagaimana Anda ingin data atribut direpresentasikan kepada pengguna yang mungkin tidak terbiasa dengan GIS?
  • Mendefinisikan subtipe dan domain (bila memungkinkan) untuk menyederhanakan pengalaman pengeditan atribut
  • Memutuskan apakah data dapat didaftarkan sebagai berversi atau diedit dalam lingkungan nonversi (Kelas fitur yang berpartisipasi dalam tipe data nonsederhana, seperti topologi atau data jaringan, harus didaftarkan sebagai berversi.)
  • Mengonfigurasi kelas fitur untuk mendukung lampiran di geodatabase. (Kelas fitur yang telah dikonfigurasi untuk menggunakan lampiran harus ditambahkan dan diterbitkan bersama dokumen peta.)

Mempersiapkan Geodatabase ArcSDE

Saat menyiapkan geodatabase ArcSDE, ingatlah bahwa semua data yang akan ditambahkan ke dokumen peta untuk diedit harus berasal dari satu geodatabase ArcSDE dan harus terdaftar dengan geodatabase tersebut. Periksa file koneksi database untuk menentukan apakah akses ke kelas fitur akan dikontrol menggunakan otentikasi sistem operasi atau otentikasi database.

Di Manajer IIS Windows Vista, klik Tambah Aplikasi untuk menambahkan folder MyVGI Anda.

Mendefinisikan Layer dan Properti Tabel di ArcMap

Simbologi fitur dan nama lapisan yang ditentukan dalam dokumen peta akan diekspos ke pengguna akhir aplikasi Web. Berhati-hatilah untuk memilih simbol yang akan bermakna bagi pengguna non-GIS dan buat alias untuk semua lapisan.

  • Saat mendesain simbol yang akan digunakan saat mengedit fitur, tambahkan sementara layer peta dasar yang juga akan digunakan dengan aplikasi Web sehingga Anda dapat melihat bagaimana fitur akan muncul di legenda dan di peta saat aplikasi Web sedang digunakan. Di ArcMap, Anda dapat memodifikasi lebih lanjut bagaimana lapisan yang dapat diedit akan muncul di aplikasi Web kepada pengguna akhir.
  • Buat alias untuk semua bidang tabel yang diekspos di antarmuka pengeditan Web baik di geodatabase atau di ArcMap dengan mengubah tabel atribut untuk kelas fitur tersebut. Anda dapat menyembunyikan bidang dengan mengubah visibilitasnya di ArcMap. Jangan sembunyikan bidang Bentuk&mdashmelakukan ini akan mencegah geometri untuk lapisan tersebut ditampilkan dalam aplikasi Web. Bidang juga dapat dibuat hanya-baca. Urutan bidang didefinisikan dalam skema kelas fitur&mdashnot di ArcMap dengan mengubah properti lapisan.
  • Saat menerbitkan dokumen peta yang akan menjadi sumber untuk layanan pengeditan, sertakan hanya lapisan yang akan diedit dalam aplikasi Web. Lapisan peta dasar dan lapisan operasional yang tidak akan diedit dalam aplikasi pengeditan Web harus dipublikasikan ke layanan terpisah dan digabungkan dengan layanan pengeditan di aplikasi Web.

Membuat Template Fitur

Template fitur mengemas pengaturan yang telah ditentukan di ArcMap dan membuatnya tersedia untuk layanan Web yang akan digunakan untuk pengeditan. Template fitur menentukan pengalaman pengeditan fitur serta informasi yang diperlukan untuk membuat fitur baru apakah mengedit di desktop atau Web. Informasi ini mencakup lapisan tempat fitur baru akan disimpan, atribut yang akan digunakan untuk membuat fitur baru, dan alat default yang digunakan untuk membuat fitur tersebut. Template fitur baru dibuat, dan yang sudah ada diedit di ArcMap. Template fitur disimpan dengan dokumen peta yang digunakan untuk membuatnya.

Saat membuat templat fitur, Anda akan melihat bahwa lapisan ArcMap yang dilambangkan dengan nilai unik atau perender kategoris akan memiliki setiap kategori simbol yang diekspos sebagai lapisan terpisah di templat fitur (dan selanjutnya di antarmuka pengguna pengeditan Web). Ketika kelas fitur juga disubtipekan, setiap kategori dalam templat fitur juga akan mempertahankan nilai atribut default seperti yang ditentukan untuk subtipe tersebut. Jika Anda tidak menggunakan subtipe, tetapkan nilai bidang default untuk setiap templat fitur jika sesuai. Hal ini membuat pengalaman pengeditan atribut menjadi intuitif bagi pengguna akhir.

Memublikasikan Peta dan Mengaktifkan Akses Fitur di Layanan

Terakhir, dokumen peta dipublikasikan ke ArcGIS Server dengan kemampuan pemetaan dan akses fitur diaktifkan. Baik kemampuan pemetaan maupun kemampuan Akses Fitur membuat URL untuk layanan yang dihasilkan. Sementara layanan peta menyajikan gambar fitur, layanan fitur memungkinkan Anda menyajikan fitur melalui Internet. Pengeditan di Web bekerja melalui jenis layanan baru yang tersedia dengan ArcGIS 10: layanan fitur. Selain menyajikan fitur, layanan fitur juga menggunakan simbologi yang ditentukan dalam dokumen peta untuk merender fitur. Operasi layanan fitur mencakup pengeditan dan kueri.

Mendefinisikan Pengalaman Pengguna

Pengalaman pengguna akhir secara langsung dipengaruhi oleh desain kelas fitur, dokumen peta, dan templat fitur. Komponen API Pemetaan Web siap pakai untuk pengeditan mencakup Pemilih Templat, Pemeriksa Atribut, dan Editor Lampiran.

  • Template Picker menampilkan galeri template dari satu atau lebih lapisan fitur. Untuk setiap template, simbol dan label yang ditentukan dalam dokumen peta ditampilkan. Perhatikan bahwa pengembang aplikasi dapat menimpa simbol-simbol ini dalam kode.
  • Inspektur Atribut menampilkan atribut fitur yang dipilih dari satu atau lebih lapisan fitur. Jika lapisan dapat diedit, atribut fitur akan dapat diedit. Widget Attribute Inspector menghormati domain dan subtipe yang ditentukan oleh layanan fitur.
  • Editor Lampiran mendukung tampilan lampiran untuk lapisan fitur yang memiliki lampiran yang diaktifkan. Jika lapisan fitur berasal dari layanan fitur, editor lampiran akan menyertakan kemampuan untuk membuat, melihat, dan menghapus lampiran. Pengembang/pengonfigurasi aplikasi juga dapat menentukan komponen pengeditan API mana yang akan disertakan dalam aplikasi pengeditan Web untuk menyesuaikan pengalaman pengeditan dengan pengguna akhir dan jenis konten yang dikumpulkan.

Mengelola Memastikan Kualitas Konten Buatan Pengguna

Situs Web VGI dapat menjadi tidak dapat digunakan jika tidak dimoderasi oleh administrator. Administrator menghilangkan bahasa yang menyinggung, data yang tidak akurat, konten yang tidak terkait dengan tujuan situs, dan konten yang dapat dianggap sebagai pelanggaran hak cipta. Praktik terbaik untuk situs VGI adalah pembuatan aplikasi sederhana yang memungkinkan pengguna non-GIS untuk memantau konten sukarela dan memodifikasinya sesuai kebutuhan. Keamanan adalah fungsi administratif lainnya. Pertimbangkan untuk menerapkan keamanan layanan ArcGIS Server untuk membatasi akses ke layanan fitur yang dapat diedit. Ingatlah bahwa tingkat keamanan ditentukan pada tingkat layanan, bukan fitur demi fitur.

Lakukan Sendiri: Gunakan Sampel VGI yang Ada untuk Membuat Situs VGI Anda Sendiri

Ikuti langkah-langkah ini untuk menggunakan contoh aplikasi Web yang berisi fungsionalitas pengeditan fitur sebagai templat untuk membuat situs VGI Anda sendiri. Latihan langsung ini tidak mengharuskan Anda memiliki ArcGIS Server 10 tetapi membutuhkan

  • Peramban web dan akses ke Internet
  • Server Web yang berjalan di mesin Anda (Microsoft IIS digunakan dalam contoh ini.)
  • Editor teks (Microsoft Notepad digunakan dalam contoh ini.)

Lihat Contoh Langsung Aplikasi VGI Dasar

  1. Buka ArcGIS JavaScript API Resource Center di http://help.arcgis.com/en/webapi/javascript/arcgis/.
  2. Klik tab Sampel dan, di bawah Sampel API JavaScript, luaskan buku Pengeditan.
  3. Klik sampel pertama, Default Editor.
  4. Klik tautan Lihat sampel langsung di area Deskripsi dan jelajahi cara kerja sampel.
  5. Biarkan sampel langsung terbuka.

Salin Kode Sumber Aplikasi

Widget Default Editor memungkinkan Anda membuat dan mengedit fitur. Ini termasuk Template Picker, Inspektur Atribut, dan Editor Lampiran. Pada langkah selanjutnya, Anda akan mencuri kode untuk seluruh sampel sehingga Anda dapat memasukkan komponen fungsional tersebut ke situs VGI yang dihosting di mesin Anda.

  1. Pertama, buat folder bernama MyVGI di bawah root server Web Anda (mis., C:inetpubwwwrootMyVGI).
  2. Selanjutnya, di browser yang berisi sampel langsung untuk Default Editor, klik kanan di bawah Template Picker (terletak di sebelah kanan peta) dan pilih View Source (atau View Page Source, tergantung pada browser Web yang digunakan). Pilih semua teks sumber halaman, klik kanan, dan klik Salin.
  3. Sekarang, buka Microsoft Notepad dan rekatkan isinya ke file Notepad baru. Simpan file ke folder MyVGI dan beri nama sample_VGI.html. Ubah Save as Type menjadi All Files agar file tidak mencoba menyimpan sebagai file teks (.txt).
  4. Terakhir, navigasikan ke folder MyVGI Anda dan klik dua kali file sample_VGI.html yang baru saja Anda buat untuk membuka aplikasi lagi&mdashkali ini Anda akan membuka file dari kode di mesin Anda. Fungsionalitas pengeditan tidak akan berfungsi dengan baik pada saat ini, tetapi Anda akan memperbaikinya di langkah berikutnya.

Jadikan Folder MyVGI sebagai Aplikasi Web Menggunakan IIS

Pada langkah ini, Anda akan menggunakan Microsoft IIS untuk membuat aplikasi Web dari folder MyVGI.

  1. Buka Panel Kontrol Anda, klik dua kali Alat Administratif, lalu klik dua kali Manajer Layanan Informasi Internet (IIS).
  2. Meskipun Manajer IIS mungkin terlihat sedikit berbeda untuk sistem operasi XP, Vista, dan Windows 7, tugasnya sama untuk ketiganya&mdashperluas struktur pohon IIS untuk mengekspos folder MyVGI Anda yang akan ditempatkan di folder Situs Web Default, lalu tambahkan atau membuat aplikasi.
  3. Untuk Vista, di folder Situs Web Default, klik kanan folder MyVGI dan klik Tambah Aplikasi. Di kotak dialog Tambah Aplikasi, beri nama alias MyVGI dan, jika perlu, tentukan jalur Fisik dengan mengklik tombol elips dan menavigasi ke folder MyVGI Anda. Pilih dan klik OK, lalu klik OK lagi untuk menutup kotak dialog Add Application.
  4. Untuk XP, di folder Situs Web Default, pilih MyVGI dan pilih properti. Dari tab Direktori di bawah Pengaturan Aplikasi, klik Buat. Klik Oke.
  5. Tutup Manajer IIS.

Ubah Kode Aplikasi

Sekarang aplikasi Anda dikenali oleh server Web Anda, Anda akan membuat beberapa perubahan kecil pada kode aplikasi sehingga akan bekerja pada mesin lokal Anda.

  1. Pertama, di browser Web Anda, kembali ke ArcGIS API for JavaScript Resource Center dan klik tab Concepts. Buka buku Working with ArcGIS Server Services dan klik Using the proxy page.
  2. Klik tautan Unduh dan konfigurasikan (di badan teks Topik) dan klik proxypage_net.zip untuk mengunduh file zip. Simpan ke folder MyVGI Anda.
  3. Ekstrak proxypage_net.zip ke folder MyVGI.
  4. Di Notepad, buka file sample_VGI.html Anda dan temukan bagian yang dimulai,

Ubah jalur di baris

Simpan dan tutup sample_VGI.html.

Catatan: Pastikan untuk mengganti <your_machine_name> dengan nama mesin Anda.

Buka browser Web dan buka aplikasi MyVGI Web Anda:

http://<nama mesin Anda>/MyVGI/sample_VGI.html

Ingatlah untuk mengganti <nama mesin Anda> dengan nama mesin Anda.

Tampilan dan fungsionalitas aplikasi akan sama persis dengan contoh di Pusat Sumber Daya API JavaScript, kecuali bahwa sekarang aplikasi tersebut di-host di mesin Anda.

Ganti Layanan Fitur dengan Layanan Fitur Berbeda

Sekarang setelah Anda menghosting aplikasi MyVGI, Anda akan mengganti layanan fitur yang digunakannya dengan layanan fitur yang berbeda. Tindakan ini mewakili apa yang mungkin Anda lakukan jika Anda menggunakan layanan fitur Anda sendiri yang dihosting di Server ArcGIS Anda. Dalam hal ini, Anda akan meminjam layanan fitur yang berbeda dari Esri.

Di browser Web Anda, buka

Halaman ini adalah Direktori Layanan ArcGIS untuk sampleserver3 di Esri. Direktori Layanan adalah bagian dari implementasi Server ArcGIS dan merupakan cara untuk menjelajahi dan mengakses titik akhir REST dari layanan Server ArcGIS. Ingatlah bahwa layanan pada sampleserver3 hanya untuk tujuan demo dan tidak boleh digunakan dalam aplikasi produksi Anda.

  1. Klik BloomfieldHillsMichigan untuk mengekspos layanan di folder itu. Layanan ini dibuat menggunakan proses yang dijelaskan di bagian pertama artikel ini.
  2. Klik BloomfieldHillsMichigan/LandusePlanning (FeatureServer) untuk menampilkan daftar lapisan layanan ini. Layanan ini berisi tiga lapisan: Land Use Points of Interest, Land Use Linear Features, dan Land Use Planning Areas.
  3. Klik Land Use Points of Interest (0) dan salin URL dari bilah alamat browser ke clipboard sistem Anda.

Jika perlu, buka kembali file sample_VGI.html Anda di Notepad dan temukan baris yang dimulai sebagai berikut (di dekat bagian tengah file):

var operationsPointLayer = esri.layers.FeatureLayer baru

Ganti URL untuk lapisan fitur ini dengan URL yang telah Anda salin untuk Tempat Tujuan Penggunaan Lahan (0).

Sekarang peta telah dibersihkan dari konten VGI yang terakumulasi di API ArcGIS untuk aplikasi sampel JavaScript, dan kumpulan simbol fitur baru telah menggantikan kumpulan sebelumnya dalam template pengeditan.

Luangkan waktu beberapa saat untuk menambahkan konten baru ke peta.

Ingatlah bahwa sementara aplikasi ini di-host di mesin Anda, lapisan fitur disimpan dalam geodatabase yang dihosting oleh Esri. Untuk membuat aplikasi ini benar-benar milik Anda, Anda perlu membuat lapisan fitur Anda sendiri seperti yang dijelaskan di bagian pertama artikel ini.

Kesimpulan

Latihan ini memandu Anda melalui proses menyiapkan salah satu sampel pengeditan di mesin lokal Anda dan memperbarui referensi ke layanan fitur untuk mengubah konten yang akan diedit oleh aplikasi.


Ikhtisar Metode

Mengaktifkan waktu pada lapisan jika memiliki informasi waktu yang disimpan di bidang.

Mengekstrusi fitur 2D dalam lapisan untuk menampilkan simbologi 3D.

Mendapat definisi CIM lapisan.

Mengembalikan pilihan layer sebagai kumpulan ID objek Python.

Mengembalikan daftar Python objek LabelClass dalam lapisan.

Mengembalikan daftar Python objek Layer dari lapisan grup atau lapisan komposit.

Menyimpan lapisan ke file lapisan ( .lyrx ).

Menetapkan definisi CIM lapisan.

Menyetel pilihan lapisan menggunakan daftar ID Objek Python.

Digunakan untuk menentukan apakah jenis lapisan tertentu mendukung properti pada objek lapisan. Tidak semua lapisan mendukung kumpulan properti yang sama, properti pendukung dapat digunakan untuk menguji apakah suatu lapisan mendukung properti itu sebelum mencoba mengaturnya.

Mengganti properti koneksi menggunakan kamus atau jalur ke ruang kerja.

Memperbarui Layer dari string JSON.


Ikhtisar skema

Proyek Tenaga Kerja terdiri dari dua lapisan fitur, tiga tabel, dan tiga domain nilai berkode dalam satu layanan fitur. Layanan fitur Tenaga Kerja dibuat secara otomatis pada saat proyek dibuat bersama dengan folder, grup, dan peta web petugas operator dan pekerja. Layanan fitur memiliki hubungan item dengan dua peta web dan dalam skema yang telah ditentukan, ditunjukkan di bawah ini.

Nama bidang tertentu berbeda di ArcGIS Enterprise . Alih-alih OBJECTID , GlobalID , CreationDate , Creator , EditDate , dan Editor , mereka adalah objectid , globalid , created_date , Created_user , last_edited_date , dan last_edited_user .

Layanan fitur tenaga kerja

Layanan fitur Tenaga Kerja berisi lapisan dan tabel berikut:

  • lapisan pekerja
    • Lapisan fitur titik yang berisi catatan untuk setiap pekerja lapangan yang disertakan dalam proyek.
    • Termasuk informasi tentang pekerja lapangan, termasuk nomor kontak dan jabatan mereka.
    • Nama pengguna organisasi ArcGIS pekerja lapangan disimpan di bidang userid.
    • Lapisan melacak siapa yang membuat dan terakhir memperbarui setiap pekerja lapangan.
    • Ada hubungan primary key-foreign key (PK-FK) dari GlobalID ke Assignments.workerid . Menggunakan nilai GlobalID dari lapisan Pekerja sebagai nilai bidang Assignments.workerid mengaitkan pekerja lapangan dengan semua tugas mereka.
    • Lapisan memiliki asosiasi domain nilai kode berikut:
      • Bidang status dikaitkan dengan domain nilai berkode Status_Pekerja untuk melacak status pekerja lapangan.
      • Lapisan fitur titik yang berisi catatan untuk setiap tugas.
      • Termasuk informasi tentang tugas, termasuk status, lokasi, dan deskripsinya, antara lain.
      • Lapisan melacak siapa yang membuat dan terakhir memperbarui setiap tugas.
      • Lampiran diaktifkan pada lapisan fitur.
      • Lapisan berisi kunci asing untuk beberapa bidang, mengasosiasikan nilai dari lapisan lain dengan lapisan ini:
        • Assignments.workerid ke Workers.GlobalID .
        • Assignments.dispatcherid ke Dispatchers.GlobalID .
        • Assignments.workorderid dapat digunakan sebagai kunci asing ke sistem eksternal, seperti sistem manajemen aset atau pemeliharaan, dengan memberikan nilai dari sistem lain.
        • Ada hubungan PK-FK dari GlobalID ke Assignment.assignmenttype . Menggunakan nilai GlobalID dari lapisan Tugas sebagai nilai bidang Assignments.assignmenttype mengaitkan tugas dengan jenis tugas.
        • Bidang status dikaitkan dengan domain nilai berkode Assign_Status untuk melacak status penetapan.
        • Bidang prioritas dikaitkan dengan domain nilai berkode prioritas untuk mengelola prioritas tugas kerja.
        Peringatan:

        Jika tugas memiliki nilai nol untuk geometrinya, tugas tersebut tidak akan muncul di Workforce .

        • Tabel yang berisi catatan untuk setiap petugas operator dalam proyek.
        • Termasuk informasi tentang petugas operator, termasuk nama dan nomor kontak mereka.
        • Nama pengguna organisasi ArcGIS petugas operator disimpan di bidang userid.
        • Lapisan melacak siapa yang membuat dan terakhir memperbarui setiap petugas operator.
        • Ada hubungan PK-FK dari GlobalID ke Assignments.dispatcherid . Menggunakan nilai GlobalID dari tabel Dispatchers sebagai nilai bidang Assignments.dispatcherid mengaitkan petugas operator dengan semua tugas yang mereka tetapkan.
        • Tabel yang berisi catatan untuk setiap jenis tugas dalam proyek.
        • Tabel ini kosong saat proyek dibuat. Ini berisi nilai setelah jenis tugas telah ditambahkan selama konfigurasi proyek.
        • Ini mencakup deskripsi untuk jenis tugas yang ditentukan oleh pemilik proyek saat jenis tugas ditambahkan.
        • Ada hubungan PK-FK dari GlobalID ke Assignments.assignmenttype . Menggunakan nilai bidang GlobalID dari tabel Jenis Tugas mengaitkan jenis tugas dengan tugas.
        • Tabel yang berisi catatan untuk setiap integrasi tugas dalam proyek.
        • Tabel ini berisi catatan untuk integrasi dengan ArcGIS Navigator saat dibuat.
        • Tabel Integrasi Tugas berisi atribut yang ditentukan pengguna berikut, selain atribut yang ditentukan sistem standar:
          • app —Pengidentifikasi untuk aplikasi terintegrasi yang akan membantu menemukan konfigurasi integrasi yang diperlukan untuk mengisi pengalaman konfigurasi di aplikasi web. Misalnya, arcgis-collector atau https://collector.arcgis.app .
          • assignmenttype —The GlobalID dari jenis tugas jika integrasi hanya akan ditampilkan untuk jenis tugas tertentu. Nilai null menunjukkan bahwa integrasi mendukung semua jenis tugas dalam proyek.
          • prompt —Permintaan ditampilkan di klien seluler. Misalnya, Navigasikan ke tugas.
          • urltemplate —URL template yang digunakan untuk memanggil aplikasi terintegrasi.

          Tiga domain nilai yang dikodekan adalah sebagai berikut:

          • Assign_Status —Menyimpan tujuh nilai yang valid untuk status tugas. Nilai dari 0-20 dicadangkan untuk digunakan di masa mendatang oleh Workforce . Pelanggan yang ingin menyimpan nilainya sendiri di bidang ini harus memilih nilai dari luar rentang tersebut.
          • Priority —Menyimpan empat nilai yang valid untuk prioritas tugas.
          • Worker_Status —Menyimpan tiga nilai yang valid untuk status pekerja lapangan.

          Untuk nilai domain nilai berkode, lihat diagram skema Tenaga Kerja.

          Hubungan item peta web

          Hubungan item antara layanan fitur Tenaga Kerja dan peta web pekerja dan petugas operator memiliki definisi berikut:

          • Jenis hubungan—WorkforceMap2FeatureService
          • Jenis asal—Peta Web
          • Jenis tujuan—Layanan Fitur
          • Aturan
            • mustOwnAllItems —Pemilik proyek menetapkan hubungan dan mereka harus memiliki peta terkait.
            • title —Judul proyek.
            • snippet —Deskripsi singkat proyek.
            • thumbnail —Thumbnail untuk proyek.
            • typeKeywords — Workforce Worker ditambahkan ke peta Worker dan Workforce Dispatcher ditambahkan ke peta Dispatcher.

            1 Jawaban 1

            Sesuai pemahaman saya, Anda menggunakan Label tampilkan teks berdasarkan pilihan di drop-down.

            Dalam hal ini Anda perlu mengatur set Teks milikmu Label bidang berdasarkan nilai bidang Anda pilih.

            Untuk memeriksa nilai Pilihan sama dengan "Pilihan1" atau tidak, Anda perlu menggunakan fungsi JIKA.

            Anda perlu menggunakan rumus Anda di Teks properti bidang Label seperti di bawah ini:

            Catatan: Saya telah menggunakan DataCardValue2.Text dan DataCardValue2.Value .


            Manajer Sumber Daya Crow

            Crowdsource Manager, template aplikasi pendamping yang dapat dikonfigurasi untuk aplikasi pengumpulan data seperti Crowdsource Reporter, memungkinkan pengguna dalam organisasi untuk meninjau masalah atau pengamatan yang dikirimkan melalui aplikasi Reporter. Aplikasi ini dapat digunakan pada tablet dan komputer desktop.

            Aplikasi Crowdsource Manager menyajikan satu atau beberapa peta yang dapat digunakan untuk meninjau masalah atau pengamatan yang dilaporkan. Pengguna mengautentikasi dengan kredensial ArcGIS mereka dan mencari pola dan cluster, meninjau detail masalah, memperbarui status, dan menetapkan tanggung jawab.

            Persyaratan

            Crowdsource Manager memerlukan perangkat lunak tertentu.

            • Portal untuk ArcGIS, ArcGIS Enterprise, atau ArcGIS Online
            • Aplikasi ini dioptimalkan untuk ditampilkan di komputer desktop dan perangkat tablet menggunakan semua browser yang didukung oleh ArcGIS Online, Portal untuk ArcGIS, dan ArcGIS Enterprise.

            Apa yang kau dapatkan

            Aplikasi Crowdsource Manager dapat dikonfigurasi di ArcGIS Online, Portal untuk ArcGIS, atau ArcGIS Enterprise tanpa mengunduh aplikasi. Namun, jika Anda ingin meng-host aplikasi di server Anda sendiri, aplikasi tersebut tersedia untuk diunduh dari GitHub.

            Apa yang baru

            Di bawah ini adalah tanggal rilis dan catatan untuk Crowdsource Manager.

            • Perbaikan untuk BUG-000133477 untuk meningkatkan keamanan aplikasi dengan memperbarui versi pustaka JQuery.
            • Menambahkan opsi konfigurasi untuk mendukung pengaturan ulang filter dan pilihan yang ada saat menggunakan tombol segarkan.
            • Aplikasi yang disempurnakan untuk mendukung interval penyegaran peta web.
            • Menambahkan pesan penghentian browser Internet Explorer dan Microsoft Edge Legacy.
            • Aplikasi yang diperbarui untuk menggunakan versi 3.35 dari ArcGIS API untuk JavaScript.
            • Peningkatan kinerja tombol Pilih Semua saat mengakses sejumlah besar fitur.
            • Replaced the search button with a search textbox.
            • Updated app to use version 3.34 of the ArcGIS API for JavaScript.
            • Added support for interactive selection of multiple records using shift+click.
            • Added button to select all records and clear selected records.
            • Updated app to use version 3.33 of the ArcGIS API for JavaScript.
            • Updated app to use version 3.32 of the ArcGIS API for JavaScript.
            • Updated app to use version 3.31 of the ArcGIS API for JavaScript.
            • Updated app to use version 3.30 of the ArcGIS API for JavaScript.
            • Updated app to use version 3.29 of the ArcGIS API for JavaScript.
            • Application now honors detailed editing settings, such as the option for editors to only edit the features they created.
            • Added a configurable option to support adding and removing attachments from features.
            • Added a configurable option to support exporting the attributes of the currently selected rows to a CSV file.
            • Updated app to use version 3.28 of the ArcGIS API for JavaScript.
            • Updated app to use version 3.27 of the ArcGIS API for JavaScript.
            • Updated app to use version 3.26 of the ArcGIS API for JavaScript.
            • A fix for BUG-000110591 to improve search results from layers with sets of filters.
            • A fix for an issue with writing default values to fields not exposed for editing.
            • An enhancement to support filtering on values that contain apostrophes.
            • Updated app to use version 3.24 of the ArcGIS API for JavaScript.
            • Added the ability to build a URL that links directly to a record in Manager.
            • Added the ability to see pop-up information for non-editable layers.
            • Added configuration options to display a basemap toggle and a legend in the map area.
            • Updated app to use version 3.23 of the ArcGIS API for JavaScript.
            • A fix for BUG-000101689 to correct the display of subtype-dependent fields.
            • A fix for BUG-000105122 to display layers that do not have an OBJECTID field.
            • Updated app to use version 3.22 of the ArcGIS API for JavaScript.
            • A fix for BUG-000102143 to correct the display of the number of currently selected records.
            • A fix for BUG-000102247 to improve support for layers with visibility ranges.
            • Added support for layer that have Update, but not Add, capabilities.
            • Updated app to use version 3.21 of the ArcGIS API for JavaScript.
            • Support for shared theme
            • Added support for feature collections as reference layers.
            • Added a configurable option to display the details, media, or related record panel first upon selecting a record.
            • Updated app to use version 3.20 of the ArcGIS API for JavaScript.
            • A fix for BUG-000100542 to improve how the app behaves with subtypes and integer coded domain values that use the value 0.
            • A fix for BUG-000099365 to allow editing record in related table layers that have a Global ID field.
            • A fix for BUG-000099306 to display the correct icons for different attachment file types.
            • Filters on the comment table are now honored to facilitate comment moderation.
            • Updated app to use version 3.19 of the ArcGIS API for JavaScript.
            • Added the ability to create related records (submit comments), and to include attachments with those new related records.
            • Changed the behavior when selecting features on the map to allow selection of stacked features. Now all features at or near to the selection location will be selected, or will be added to the current selection with the CTRL key is pressed.
            • Hyperlinked images and videos now display int he media panel.
            • Addressed several image caption display issues in the media panel.
            • Fixed a bug where the favicon displayed in the browser was always the application logo.
            • Updated app to use version 3.18 of the ArcGIS API for JavaScript.
            • Ability to update attributes for multiple features by holding down the CTRL key and clicking multiple features in the table or map.
            • Ability to filter the map and table by attribute values using the Ask for Value filters set in the map.
            • Ability to filter the map and table by time using the time slider settings configured in the map.
            • Added a configuration option to enable display of uneditable layers along with each editable layer.
            • Added support for maps with multi-layer basemaps.
            • Added the ability to edit attributes of related records.
            • Added a media display panel for images and charts that are attached to each record.
            • Updated app to use version 3.17 of the ArcGIS API for JavaScript.
            • Simplified app interface when working with a single map and a single layer.
            • Improved support for right-to-left languages.
            • Added ability to display related records using the pop-up configuration of the related layer.
            • Updated to use version 3.16 of the ArcGIS API for JavaScript.
            • Fixed a bug that was causing dates to be displayed in the incorrect format.
            • Updated to use version 3.15 of the ArcGIS API for JavaScript.
            • Removed the horizontal constraint on the app logo.
            • App state (table view, map view) is maintained on app refresh.
            • A series of enhancements and improvements to the user interface.
            • An enhancement to the table removing geographic filtering.
            • An enhancement to allow the application to be accessed from a public URL.
            • Updated to use version 3.14 of the ArcGIS API for JavaScript.
            • First release of Crowdsource Manager

            You may be interested in

            ArcGIS Solutions for Local Government includes several related maps and apps that also can be configured in your organization:

            Crowdsource Manager is used in the following maps and apps that can be configured for your organization:


            Web maps

            An ArcGIS web map is an interactive display of geographic information that you can use to tell stories and answer questions. For example, you may find or create a map that addresses the question, How many people in the United States live within a reasonable walk or drive to a supermarket? This map has layers showing which neighborhoods are within a 10-minute drive or 1-mile walk to a supermarket, and for context, the map has a topographic basemap that includes cities, roads, and buildings overlaid on land cover and shaded relief imagery.

            Maps contain a basemap, a set of data layers (many of which include interactive pop-up windows with information about the data), an extent, and navigation tools to pan and zoom. In general, the basemap and layers are hosted and shared through ArcGIS Online . However, maps can also contain layers added directly to the map and layers and basemaps referenced externally. Many maps also contain scaled symbols and other smart styling that reveal data and patterns as you interact with it. For example, the map below shows the relative magnitude of earthquakes.

            Click on any earthquake symbol to learn the magnitude and date of each event. The map also has scaled symbols, showing the relative magnitude of each earthquake.

            Maps can be created in a few basic steps and opened in standard web browsers, mobile devices, and desktop map viewers. They can be shared through links or embedded in websites, and used to create map-based web apps. When a map is shared, the author decides what to include with the map. For example, when the map is shared with the general public through Map Viewer or Map Viewer Classic , the map includes options to switch basemaps view a legend (if the map contains one) view details about the map share, print, and measure the map and find locations on the map. Signing in to Map Viewer or Map Viewer Classic with an ArcGIS account may reveal additional options for adding layers,getting directions, and so on. Maps embedded in websites and shared through apps often contain a focused set of tools for a specific purpose, such as collecting information, editing features, or comparing two maps side-by-side.

            Web maps can be used across ArcGIS because they adhere to the same web map specification. This means you can create web maps in one ArcGIS app and view and modify them in another. For example, you can create a web map in ArcGIS Pro and your colleague can modify it in ArcGIS Online .


            Configure advanced parameters

            There are several advanced parameters that can be used to further customize your webhooks. These parameters will be applied to all configured webhooks in your portal and can be accessed from https://machine.domain.com/webadaptor/sharing/rest/portals/<orgID>/webhooks/settings.

            The Update operation allows you to update the following parameters:

            • Number of delivery attempts—Specify the number of attempts that will be made to deliver a payload. The default is three attempts, and it can be increased up to five attempts.
            • Notification timeout—Specify the length of time a connection will wait to receive a response. If a response is not received within this interval, the connection will time out and is considered a failed notification attempt.
            • Elapsed time between delivery attempts—Specify the time between each payload delivery attempt. The default is 30 seconds, and it can be increased to a maximum of 100 seconds or decreased to a minimum of 1 second.

            See the webhooks API documentation for more information on how to configure advanced parameters.


            I prefer SetVisible(bool visible) , because it lets me write client code like this:

            instead of having to write

            The SetVisible approach may also allow for easier implementation. For example, if a particular concrete class simply delegates the method to its composite classes, then SetVisible means one less method to implement.

            I disagree with all posters suggesting multiple functions to do the same thing is a good thing. Whilst three functions instead of one may not seem like much bloat, remember that your class is likely to end up with many such functions (e.g. setEnabled , enable , disable ) and thus this approach will end up with a much larger class interface. Moreover, it's likely that you'll end up with a bunch of similar sounding functions/properties/whatever in your class and the multiplication of functions will further obscure which one goes with what.

            In languages which support properties, these should be preferred but since neither Java nor C++ do, I guess that's a moot point.

            I think setVisible() should be preferred for these reasons:

            1. It's immediately obvious what the inverse function is. To reverse setVisible(false) you call setVisible(true) whereas the opposite of hide() could easily be reveal() .
            2. It's programmatically simpler whenever you're determining which state it should take in code, i.e. you can call setVisible(wantToSee) rather than using an if statement.
            3. Once you have multiple similar functions the setX() format generalises so you can have a set of consistent functions whereas the verbed approach spawns a host of functions that can be difficult to locate if you don't know what you're looking for. Consistency in APIs makes them considerably easier to learn and remember.

            It depends on what showing and hiding means in the context. First you want to figure out which one is your "main way", and focus on developing that:

            • Reasons to pick setVisible(bool)
              • It is just a simple bit-flip, or your object is mainly holding state
              • Your object is going to spend most of its time in a CRUD framework
              • There is a lot of easily-shared code between showing and hiding
              • There are a important side-effects or lots of logic being run, such as when the object has to check all of its containers for their visibility state, or triggers a transition animation.
              • Is it part of a domain model where expressing intent is important

              OK, so now that you've coded the "gold standard" core of it, you need to figure out whether it it worth adding thin convenience-methods in the other style, to make life easier for whomever is going to use your object.

              • Convenience of setVisible(bool)
                • Lets you avoid if-statements that have trivial conditions and only affect visibility (ex. setVisible(a==b) )
                • Can be wired into certain getter/setter frameworks, if that's somethign you expect to happen
                • Useful in a language with first-class functions and callbacks (ex. onSuccess(widget.show) )
                • Much easier to read with stack-traces and performance profiling, since you can quickly see what the program was trying to do

                TLDR: Find out which one is most important, implement it, and then ask yourself whether it's worth adding the other style as thin convenience methods.

                Show() and Hide() tend to be easier to grok than SetVisible(true) and SetVisible(false) . However, when you want to set visibility logically it is better to have a method taking a bool rather than constructing an if around that bool .

                You can support all three without duplicating logic and minimal boilerplate:

                Alternatively, if the things you are wrapping have a more SetVisible -ish API:

                I prefer show() and hide(), in fact, every method that receive one boolean can be changed for two methods tan express better the intention of the API. For example Robert Martin in clean code recommend prefer methods wit zero arguments over methods with one argument.

                Another important argument for me is readability, in my opinion good code can be read like prose, its really strange prose something like "main_window setVisible false" instead of "main_window hide", you write or talk like that normally?, why use this strange language construction in software programs when is perfectly possible use a more natural language?.

                I do believe that the more the method is expressive, the more readable, and consequently, maintainable the code will be. Consider the following two cases:

                In the first case, it is clear what the function "setVisible" is doing, but if you want to read it, you would say:

                set the customer panel to visible if the customer is enabled or set it to hidden if the customer is disabled.

                While its more descriptive to say:

                • check the status of the customer:
                  • if the customer is enabled then show the customer's panel
                  • otherwise, hide it

                  which will change the "Case 1" function into the following:

                  it produces more code, but is more readable.

                  The second case has an obvious flaw, which is, you already know that you want to show the panel, so why not use the "Show" function ?

                  I am not saying that using "setVisible" is absolutely wrong, but it gets confusing when you try to read code not written by you over time, and it does not conform with the "A function should perform only one operation" rule.

                  I believe that the Hide() / Show() alternative is attractive because it's easier to understand what's going on than with SetVisible(true) , while having a single function is preferable because it avoids lots of conditionals.

                  If that's the case then I suggest using an enumeration as the input to SetVisible , so you get either SetVisible(Visibility.Visible) or SetVisible(Visibility.Hidden) . You have a single function you can instantly read what action is being taken.

                  Using Java's naming conventions, you would have maybe setVisible(Visibility.VISIBLE) or setVisible(Visibility.HIDDEN) .

                  I agree with Darien's answer, but wanted to add a point of view from a C# programmers perspective.

                  When I see code which says 'setXXX' I read that to say that it's setting a value on a thing, I don't expect this to have side effects in that thing other than setting that value, and I do expect this to be idempotent (ie I can keep setting it with the same value and it's okay). It's rather like accessing a field. Generally I'd also expect to see a 'getXXX' method along with a 'setXXX'.

                  I don't know if this is what you expect in Java and C++, but that's what I'd expect in C#, albeit in C# there's a short hand for this called Properties. And here's some nice guidance on how to use Properties (http://msdn.microsoft.com/en-us/library/ms182181.aspx).

                  Given this view, then the interface I'd choose depends purely on if there are any side effects (other than changing that field value):

                  If performing the action has side effects, for example it's showing a dialog box then I'd go with "Show()", and "Hide()".

                  If it doesn't have side effects, say I'm setting the visibility of a "widget" and something else renders that widget depending on it's state then I'd use setVisibility or setIsVisible. (I wouldn't call it SetVisible).

                  In C# (not sure about Java) it's pretty common to adopt an observer pattern, where a UI framework will listen for changes to objects and will automatically re-render the UI when a property such as Visibility changes. That means that setting the value by calling setIsVisible appears as if it has side effects, but in my definition it doesn't. The widget's contract is fulfilled by setting it's field value representing "IsVisible".


                  Tonton videonya: Tutorial program kondisi If Else