Jadi saya ingin pergi ke layar peta dan saya sebenarnya ingin menambahkan penanda di sana sejak awal yang juga merupakan sesuatu yang
tidak didukung saat ini dan
saya ingin memastikan bahwa saya tidak dapat memilih lokasi
baru di sana, jadi beberapa batasan.
Jadi ketika kita mengklik pratinjau peta, onPress, saya ingin menavigasi ke layar yang berbeda di sebelah kanan.
Jadi saya akan menambahkan konstanta baru di sini untuk memegang fungsi yang saya akan beri nama show handler peta, tentu saja Anda
juga bisa menggunakan fungsi inline dan saya akan menghubungkan show handler peta ke saya pada prop tekan
di sini di pratinjau peta .
Ini akan dipicu ketika kita mengklik pratinjau, ketika kita mengetuknya dan di
sini tentu saja saya ingin menavigasi. Tentu saja itu bisa dilakukan dengan alat peraga. navigasi. navigasi dan kemudian pergi
ke layar peta.
Masalahnya hanya jika kita melakukannya seperti
ini, tidak mengherankan jika kita melihat ini di Android setelah ini dimuat ulang, jika saya klik ini, saya memuat layar peta
tetapi saya tidak memiliki tempat yang saya pilih terpilih sebelumnya dan saya bisa juga klik di sini dan simpan
dan kembali ke layar tambah tempat saya dan itu pasti bukan cara
kerjanya, jadi itu salah.
Alih-alih, saya ingin meneruskan beberapa data ke layar peta di mana saya dapat membuat satu set ini hanya
untuk dibaca, katakan saja, jadi saya akan meneruskan prop
hanya baca dan mengatur ini menjadi benar dan saya juga ingin mengatur lokasi awal dan mengatur ini ke objek misalnya, di mana saya pada dasarnya lulus
di lokasi ini saya juga tunjukkan pada pratinjau.
Jadi ini di sini, saya dapat memotongnya dari sana dan membuat tetapan pembantu baru di sini, lokasi yang dipilih sekarang hanya di sini dan saya
meneruskan ini sebagai lokasi awal di sini, lokasi yang dipilih dan saya meneruskannya ke pratinjau peta saya
di prop lokasi dan dengan itu, kami
meneruskan data ke layar peta, kami sekarang perlu menggunakannya
di sana.
Jadi kita perlu menggunakan prop atau param hanya baca untuk memastikan kita tidak dapat memilih tempat baru, lokasi awal untuk
tetap memiliki penanda di sana sejak awal.
Jadi sekarang untuk menggunakan semua informasi itu di sini di layar peta, saya bisa mendapatkan data saya dari params yang saya terima,
jadi saya mendapatkan lokasi awal saya dengan mengakses alat peraga. navigasi. Lokasi awal getParam yang mungkin diatur,
tentu saja ini juga mungkin tidak terdefinisi tetapi juga mungkin diatur dan saya mendapatkan hanya membaca dengan
navigasi props dapatkan param hanya baca yang juga mungkin tidak terdefinisi.
Sekarang lokasi awal dapat
digunakan untuk menginisialisasi keadaan sekarang. Sekarang ini tidak akan menginisialisasi ulang ini setiap kali ini dirender ulang,
melainkan Bereaksi mengelola ini sehingga ini menetapkan keadaan awal dan untuk siklus render ulang berikutnya, ini hanya diabaikan yang bisa Anda katakan.
Jadi sekarang ketika kita memiliki lokasi awal, keadaan kita akan diinisialisasi ke lokasi yang bagus.
Sekarang perlu diingat bahwa apa yang saya lewati ke lokasi awal adalah tipe objek dengan lat dan lng dan
tentu saja harus sesuai dengan apa yang kita kelola dengan keadaan kita di
sini dan itu yang terjadi karena di sana saya juga mengatur negara saya ke objek dengan lat dan
lng, jika itu berbeda, Anda perlu logika untuk menormalkan ini. Sekarang hanya baca adalah hal lain yang saya ekstrak dan saya
dapat menggunakan ini di handler lokasi tertentu yang merupakan fungsi yang memicu setiap kali kita menekan peta dan di sana,
kita dapat memeriksa apakah hanya membaca benar dan jika tidak terdefinisi, itu akan salah tetapi jika itu benar, saya hanya kembali ke sini
yang berarti saya tidak melanjutkan, saya tidak memilih lokasi baru. Dengan itu, memilih lokasi harus dinonaktifkan.
Sekarang saya juga ingin menyingkirkan tombol simpan jika tidak ada yang ingin disimpan, jadi jika kita
dalam mode hanya baca, maka kita tidak dapat menyimpan apa pun. Jadi headerRight seharusnya hanya diatur jika kita tidak dalam
mode read only, jadi di sini saya juga akan mengekstrak mode read only dengan bantuan navigasi
dapatkan param read only yang dapat saya lakukan di sini juga
tentu saja dan oleh karena itu sekarang di sini, jika kita dalam mode hanya baca, jika itu benar, maka konfigurasi yang saya
kembalikan adalah objek
kosong, jadi tanpa tombol apa pun. Mari kita coba ini.
Mari kita simpan dan kembali dan jika saya sekarang klik pada item ini di sini dan saya klik pada peta, itu terbuka tapi saya tidak punya tombol
simpan dan juga tidak ada penanda sehingga tidak berfungsi tetapi setidaknya saya tidak bisa memilih yang baru satu, itu bagus
tapi spidolnya juga tidak berfungsi. Sekarang sebelum kita memperbaikinya, mari
kita pergi ke layar tempat baru dan melihat apakah kita masih dapat mengatur penanda dan itu yang
terjadi, kita dapat memilih tempat di sana, sehingga berfungsi.
Jadi satu-satunya hal yang tidak benar-benar berfungsi adalah memuat peta ini dengan spidol yang dipilih dan sebenarnya, itu tidak benar, kami memiliki spidol,
hanya saja
tidak di sini di layar yang kami pilih sebelumnya di San Francisco. Jika kita pergi ke
Google plex di sana, inilah
penanda. Jadi itu memang menyelamatkan ini,
hanya saja tidak fokus ketika kita memuatnya, jadi itu sedikit
perubahan kita juga harus menambahkan pada layar peta. Di sana, kita harus
memastikan bahwa wilayah peta yang kita atur di sini juga memperhitungkan lokasi awal
jika kita memilikinya. Jadi di sini garis lintang yang kita atur awalnya,
baik jika kita memang memiliki lokasi awal, maka saya ingin menggunakan lokasi awal. lat bukan default, hanya gunakan
default jika tidak, sama saja untuk garis bujur.
Jika kami memiliki lokasi awal, saya ingin menggunakan garis bujur dari yang awalnya daripada default.
Sekarang dengan itu jika kita menyimpan ini, kita harus dapat memiliki peta yang secara otomatis berpusat pada penanda kita jika
kita membukanya dalam mode hanya baca, jadi di sini, memang itu berfungsi
dan jika saya tentu
saja menambahkan tempat baru, itu juga masih berfungsi. Di sana kami membukanya di tempat default,
jadi di suatu tempat di sini di San Francisco. Karenanya ini semua bekerja dan sekarang saya hanya ingin
mengujinya pada beberapa perangkat nyata sebelum saya menyelesaikan modul ini dan kami
selesai dengan menambahkan fitur perangkat asli ke aplikasi React Native kami.