1 00:00:02,170 --> 00:00:07,360 Mari kita pergi ke Redux, ke tindakan tempat yang sekarang menerima objek lokasi juga dan perlu diingat 2 00:00:07,390 --> 00:00:09,490 bahwa ini adalah objek yang terlihat 3 00:00:09,490 --> 00:00:12,610 seperti ini, sehingga memiliki kunci lat dan lng di sini. 4 00:00:12,610 --> 00:00:21,730 Jadi di tempat tindakan, di tambah tempat, kita akan mendapatkan objek lokasi ini dan di sini, saya tentu saja ingin menyimpannya di database saya, saya 5 00:00:21,730 --> 00:00:23,920 ingin menyimpannya di toko Redux saya 6 00:00:23,920 --> 00:00:25,460 dan seperti yang saya 7 00:00:25,540 --> 00:00:28,930 sebutkan, saya ingin mendapatkan manusia ini alamat yang dapat dibaca, 8 00:00:28,960 --> 00:00:30,010 tepat dan 9 00:00:30,100 --> 00:00:33,130 untuk itu kita dapat menggunakan Google API lain. 10 00:00:33,130 --> 00:00:37,610 Jika Anda mencari Google geocoding API, Anda akan menemukan tautan ini di 11 00:00:37,690 --> 00:00:43,780 sini dan ini adalah API yang memungkinkan Anda untuk menerjemahkan alamat menjadi koordinat atau koordinat ke alamat. 12 00:00:44,590 --> 00:00:52,870 Koordinat ke alamat disebut reverse look up, jadi kita bisa klik reverse geocoding di sana dan ini memberitahu kita 13 00:00:52,870 --> 00:00:58,230 cara kerjanya dan untuk itu, Anda memerlukan kunci Google Maps API yang 14 00:00:58,230 --> 00:00:59,530 telah saya 15 00:01:00,130 --> 00:01:04,960 atur sebelumnya di modul ini dan sekarang kita bisa kirim permintaan 16 00:01:04,960 --> 00:01:10,780 di akhir ke URL ini di sini. Jadi kita bisa menyalin seluruh URL ini dan mengirim permintaan HTTP ke ini. 17 00:01:10,810 --> 00:01:15,130 Sekarang ini tidak akan menghasilkan gambar tetapi memberikan kami kembali beberapa data JSON, jadi kami 18 00:01:15,130 --> 00:01:22,460 akan mengirimkan permintaan itu dengan mengambil API saat Anda mempelajarinya dalam modul HTTP dan saya hanya akan melakukannya di sini di dalam penangan tindakan 19 00:01:22,460 --> 00:01:27,340 menambahkan tempat saya di fungsi batin ini. Tentu saja Anda juga bisa mengalihdayakannya dalam file terpisah 20 00:01:27,460 --> 00:01:29,920 meskipun jika Anda ingin menjaga file ini sedikit lebih ramping. 21 00:01:29,980 --> 00:01:36,730 Jadi di sana, kita dapat menggunakan API ambil dan mengirim permintaan ke URL yang akan saya buat di sini 22 00:01:36,730 --> 00:01:45,620 sebagai string dengan tanda centang kembali sehingga menyuntikkan data dinamis lebih mudah dan di sana, saya ingin menyalin URL ini di sini dan menempelkannya di 23 00:01:45,620 --> 00:01:47,080 sana . Oke 24 00:01:47,090 --> 00:01:47,930 itu tidak 25 00:01:47,930 --> 00:01:56,310 berfungsi, jadi izinkan saya secara manual ambil dulu dan sekarang tempel di sana dan untuk kunci API, saya tentu saja 26 00:01:56,310 --> 00:01:58,520 ingin menggunakan variabel lingkungan ini 27 00:01:58,520 --> 00:02:02,980 yang saya atur sebelumnya, jadi impor env dari file env. 28 00:02:02,990 --> 00:02:07,180 Anda mungkin ingat ini adalah file yang menyimpan objek yang menyimpan kunci API saya. 29 00:02:07,220 --> 00:02:13,040 Jadi sekarang saya bisa mengganti ini di sini, ini kunci API di sini, saya bisa mengganti ini dengan env yang disuntikkan secara dinamis 30 00:02:13,460 --> 00:02:14,170 ini. 31 00:02:14,180 --> 00:02:20,870 Nilai googleapikey dan tentu saja lintang dan bujur juga perlu diatur secara dinamis. 32 00:02:20,870 --> 00:02:23,840 Pastikan Anda tidak menghapus koma di antara keduanya, tetapi 33 00:02:23,840 --> 00:02:30,460 sekarang di sini lintang dapat ditemukan di lokasi saya yang tentu saja memiliki kunci lat seperti yang kami atur, Anda 34 00:02:30,460 --> 00:02:35,620 selalu dapat melihatnya di sini di bagian bawah di konsol dan lokasi sebagai kunci lng juga, 35 00:02:35,620 --> 00:02:37,880 jadi kami memiliki dua informasi ini. 36 00:02:37,960 --> 00:02:39,990 Ini mengirimkan permintaan get di 37 00:02:40,000 --> 00:02:45,830 sana dan tidak apa-apa karena kita perlu mengirim permintaan get dan tentu saja, karena itu kita 38 00:02:45,970 --> 00:02:50,700 bisa menunggu tanggapan dan saya ingin menyimpan tanggapan dalam konstan untuk menggunakannya. 39 00:02:50,760 --> 00:02:57,690 Selanjutnya kita dapat memeriksa apakah respons ini mungkin tidak baik-baik saja, itu seharusnya baik-baik saja tetapi jika tidak, kita bisa melempar kesalahan baru 40 00:02:57,690 --> 00:02:59,930 di sini, ada yang tidak beres dan 41 00:02:59,970 --> 00:03:01,630 tentu saja Anda juga dapat 42 00:03:01,710 --> 00:03:05,850 mengatur penanganan kesalahan dengan cara yang sama seperti yang Anda pelajari dalam modul HTTP 43 00:03:05,860 --> 00:03:06,890 tetapi di 44 00:03:07,200 --> 00:03:09,640 sini saya berasumsi bahwa ini akan berfungsi dan 45 00:03:09,840 --> 00:03:14,970 sekarang kita bisa mendapatkan data respons dengan menunggu respons. json yang mengekstrak isi respons dan 46 00:03:14,980 --> 00:03:21,730 mengubahnya menjadi Javascript normal dan untuk saat ini, saya hanya akan menghibur log data respons itu 47 00:03:21,730 --> 00:03:26,780 sehingga kami mendapatkan gagasan tentang apa yang ada di sana dan sekarang 48 00:03:26,920 --> 00:03:28,340 mari kita coba. 49 00:03:29,230 --> 00:03:34,960 Mari kita coba tambahkan tempat baru, dapatkan lokasi pengguna dan klik simpan tempat dan kita bisa 50 00:03:34,960 --> 00:03:37,350 melakukannya bahkan tanpa mengisi sisanya 51 00:03:37,370 --> 00:03:43,840 karena kita tidak punya validasi di sini di iOS. Jadi ini berfungsi, tentu saja saya mendapatkan kesalahan karena data yang hilang 52 00:03:43,840 --> 00:03:48,500 tetapi kami juga benar-benar mendapatkan hasil permintaan HTTP kami dan itu adalah objek super besar di sana, 53 00:03:48,560 --> 00:03:51,190 sekarang itu benar-benar objek besar seperti yang Anda tahu. 54 00:03:51,760 --> 00:03:58,390 Sekarang pada akhirnya apa yang ada di sana, dalam objek besar ini apakah ini objek di sini, kami memiliki kunci hasil di sana yang merupakan array dan 55 00:03:58,390 --> 00:04:02,310 di sana, kami memiliki komponen berbeda dari alamat ini tetapi jika Anda gulir ke bawah sedikit, 56 00:04:02,320 --> 00:04:09,220 kami lihat di samping array ini, kami juga memiliki kunci alamat yang diformat ini. Jadi di objek hasil kami di sini, kami tidak hanya 57 00:04:09,280 --> 00:04:13,930 memiliki array itu tetapi kami juga memiliki alamat yang diformat dan itulah yang saya 58 00:04:13,930 --> 00:04:14,690 cari, 59 00:04:14,710 --> 00:04:21,360 ini yang saya inginkan, saya ingin alamat yang diformat ini, sehingga kami dapat mengekstraknya dari respons kami data di sini. 60 00:04:21,360 --> 00:04:26,510 Jadi alih-alih mencatatnya di sini, saya hanya memeriksa apakah kita mungkin tidak memiliki kunci hasil 61 00:04:26,520 --> 00:04:34,300 data tanggapan, jika itu entah bagaimana hilang, dalam hal itu saya juga akan melempar kesalahan tetapi jika kita berhasil melewati pemeriksaan ini, maka 62 00:04:34,300 --> 00:04:35,960 saya harus dapat mengambilnya. 63 00:04:35,980 --> 00:04:43,210 Jadi di sini saya kemudian dapat memperoleh alamat saya dengan mengakses hasil data tanggapan dan kemudian di sana, item baris pertama, di 64 00:04:43,280 --> 00:04:43,790 situlah 65 00:04:43,810 --> 00:04:49,540 kita sebenarnya menemukan alamat yang diformat dan Anda cukup memeriksa objek ini. Saya hanya menunjukkan kepada Anda 66 00:04:49,540 --> 00:04:52,090 untuk mendapatkan ide untuk struktur lengkapnya. . 67 00:04:52,090 --> 00:04:58,570 Tentu saja dokumen resmi juga mendokumentasikan bagaimana data ini terlihat seperti yang Anda dapatkan kembali. Jadi sekarang kami memiliki alamat yang diformat di sini 68 00:04:58,570 --> 00:05:03,550 dan karena itu saya dapat mengambilnya seperti ini dan sekarang kami mendapatkan semua yang kami butuhkan. 69 00:05:04,420 --> 00:05:09,280 Ketika kita sekarang menyimpan sesuatu di database, saya bisa menggunakan alamat saya yang baru saja saya ekstrak, bukan alamat 70 00:05:09,280 --> 00:05:15,210 dummy dan di sini untuk garis lintang, saya bisa menggunakan lokasi. lat, untuk garis bujur 71 00:05:15,430 --> 00:05:23,100 tidak mengejutkan saya bisa menggunakan lokasi. lng dan untuk mengirim data, kami juga dapat menambahkan informasi tambahan. 72 00:05:23,520 --> 00:05:32,100 Kami dapat menambahkan alamat dan mungkin kunci coords yang menyimpan objek di mana kami memiliki lat yang merupakan lokasi. lat dan lng yang 73 00:05:32,100 --> 00:05:40,320 merupakan lokasi. lng dan sekarang semua data diteruskan dengan objek aksi kami 74 00:05:40,320 --> 00:05:42,380 dan karenanya mencapai peredam kami. 75 00:05:42,480 --> 00:05:47,940 Jadi dalam peredam, kita sekarang perlu memastikan bahwa kita menggunakan bidang alamat dan koordinat baru yang kita dapatkan. Jadi di peredam tempat, kami 76 00:05:47,940 --> 00:05:53,750 ingin menginisialisasi tempat kami di sini dengan data tambahan dan untuk itu kami 77 00:05:53,770 --> 00:05:58,150 pertama-tama perlu mengubah model tempat untuk mengharapkan data itu. 78 00:05:58,150 --> 00:06:04,990 Jadi di sini, saya ingin mendapatkan alamat dan saya ingin mendapatkan garis lintang dan bujur. Jadi kita dapat menyimpan semua itu, menyimpan 79 00:06:04,990 --> 00:06:05,530 alamat 80 00:06:05,530 --> 00:06:08,740 di sini, menyimpan garis lintang dan 81 00:06:08,880 --> 00:06:17,460 menyimpan garis bujur, dengan model yang disiapkan dan dengan model yang disiapkan, untuk mendapatkan data tambahan ini kembali 82 00:06:17,460 --> 00:06:22,500 ke dalam peredam, kita harus menambahkan ini ketika kita tambahkan tempat. 83 00:06:22,500 --> 00:06:30,420 Jadi di sini kita kemudian tambahkan sebagai alamat, tindakan. placeData. alamat karena itulah yang baru saja saya 84 00:06:30,420 --> 00:06:35,310 tambahkan di tindakan tempat di sini, kunci alamat ini dan kami juga bisa mendapatkan koordinat. 85 00:06:35,310 --> 00:06:40,860 Jadi untuk garis lintang di sini, saya memberikan aksi. placeData. coords. lat dan untuk 86 00:06:40,860 --> 00:06:50,620 garis bujur, saya meneruskan aksi. placeData. coords. lng. Dengan itu, tempat diinisialisasi di 87 00:06:50,620 --> 00:06:51,510 sini. 88 00:06:51,520 --> 00:06:57,550 Sekarang ketika kita memuatnya dari database, ketika kita mengatur tempat kita, karena itu kita juga harus 89 00:06:57,550 --> 00:07:01,650 menginisialisasi model tempat kita dengan benar dan mengambil data yang 90 00:07:02,020 --> 00:07:07,210 sudah ada dalam database, jadi simpan alamatnya, simpan lintangnya dan pertahankan garis bujurnya, 91 00:07:07,240 --> 00:07:13,940 jadi itu cukup mudah dan oleh karena itu sekarang, semoga kami memiliki semua data dan menggunakan semua data. 92 00:07:14,330 --> 00:07:16,340 Sekarang untuk melihat apakah itu berfungsi, kita 93 00:07:16,340 --> 00:07:21,760 perlu mengerjakan item tempat yang kita hasilkan di sini di halaman awal, kita bisa melihatnya di Android, sehingga kita 94 00:07:21,950 --> 00:07:23,800 juga menunjukkan alamat di sini mungkin 95 00:07:24,080 --> 00:07:29,540 dan kita juga perlu bekerja di tempat itu layar detail. Jadi mari kita kerjakan itu sehingga kita bisa melihat 96 00:07:29,540 --> 00:07:30,680 semua bagian menyatu.