Akan ada lebih banyak esai tentang peta gaode.
1. Deskripsi bisnis
Ada dua jenis anggota dalam bisnis aplikasi yang sesuai: satu adalah personel layanan dan yang lainnya adalah personel layanan. Ini terutama mewujudkan fungsi dan menempatkan lokasi personel layanan di aplikasi tepat waktu. Kemudian, unit jarak M antara personel layanan dan personel layanan dihitung melalui garis lintang dan bujur yang disediakan ketika personel layanan masuk ke dalam aplikasi.
The following is the entire detailed process, from creating a Gaode corresponding application (I won’t talk about it if you register here)-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
2. Buat aplikasi peta gaode yang sesuai dengan servlet dan buat tabel basis data peta cloud Anda sendiri
Setelah mendaftarkan akun, masuk dan klik pada konsol di sudut kanan atas. Antarmuka berikut akan muncul. Saya mengambil tangkapan layar.
Tentu saja, ini adalah antarmuka yang telah saya daftarkan. Jika Anda tidak mendaftar, cukup dapatkan kunci. Klik di sini langsung untuk membuat aplikasi Anda. Anda bisa mendapatkan nama aplikasi sesuka hati, karena kami adalah servlet di sini untuk menanganinya.
Bisnis Terkait, jadi opsi adalah API Layanan Web. Di sini Anda mengklik untuk mendapatkan kunci dan tangkapan layar di bawah ini akan muncul.
Setelah langkah ini selesai, kami dapat membuat grafik cloud yang kami inginkan, masukkan konsol, pilih mouse untuk pindah ke data saya, dan kemudian pilih Stasiun Manajemen Data (Web) di bawah ini untuk memasukkan antarmuka untuk menambahkan grafik cloud.
Di bawah ini adalah tangkapan layar setelah masuk. Setelah tangkapan layar ini, saya akan menjelaskannya secara langsung dalam teks.
Tangkapan layar di atas adalah hasil yang saya buat. Di sini kita perlu mengklik pertama pada unduhan template data di sudut kanan atas. Setelah mengunduh templat, ubah data yang sesuai, tambahkan bidang yang Anda butuhkan, lalu klik pada peta baru untuk
Template yang dimodifikasi diimpor ke perpustakaan cloud. Template ini sebenarnya adalah tabel basis data yang diekspor oleh Excel. Di bawah ini saya langsung mencegat tabel yang saya buat. Saya menambahkan dua bidang ke tabel ini dan mengatur satu bidang ke bidang indeks.
Ingatlah bahwa nama bidang merah harus dipertahankan (konten dapat dimodifikasi sesuka hati), yang termasuk dalam templat sistem. Dua bidang hitam di akhir ditambahkan sendiri dan dapat dimodifikasi sesuka hati. Bahkan jika Anda mengunggahnya ke Gaode Cloud Map Server, itu dapat diubah.
Setelah mengunggah tabel di atas, Anda akan membuka manajemen data sebelumnya (Web) dan antarmuka peta sebelumnya akan muncul. Blok peta muncul di sebelah kiri. Klik dan Anda akan melihat informasi terperinci dari orang yang Anda unggah, serta logo bintang berujung lima kuning yang ditampilkan di peta melalui lintang dan bujur yang diunggah. Ada tangkapan layar di bawah ini
Bidang yang ditampilkan dalam tabel ini dimodifikasi oleh saya, tidak diunggah di Excel sekarang. Mengklik judul di kolom dapat membuat serangkaian pengaturan. Saya tidak akan membahas detailnya.
Bicaralah tentang pengaturan bidang indeks.
Setelah masuk, saya memilih untuk memfilter indeks sortir-> memfilter indeks sortir adalah untuk mengatur kondisi filter untuk bidang pengguna yang baru ditambahkan.
Saya menggunakan jenis pengguna yang diambil di gambar cloud di atas. Saya juga akan memotretnya untuk Anda.
Pada titik ini, kami akan menyelesaikan seluruh langkah pembuatan peta cloud dan mengunggah. . . Selanjutnya saya akan berbicara tentang metode yang disebut.
2. Metode Permintaan untuk Perpustakaan Gambar Cloud Kueri Servlet
1. Posting pertama alamat dokumen pengembang:
http://lbs.amap.com/yuntu/reference/cloudsearch/ Saya sarankan Anda memeriksanya sendiri
Di sini, servlet menggunakan API pengambilan cloud, dan aplikasi yang sesuai menggunakan API penyimpanan cloud. Mungkin besok, artikel tentang lokasi waktu klien iOS yang sesuai dengan antarmuka ini akan ditambahkan.
Di bawah ini adalah format URL yang disambung. Masukkan Refresh langsung ke URL untuk mendapatkan data yang relevan dengan GET.
http://yuntuapi.amap.com/datasearch/local?tableid=568bd32b305a2a31f604c650&city=beijing&keywords=%20&filter=Type: Layanan Layanan Batas = 15 & halaman = 1 & Key =? (Kunci parameter di sini adalah milik Anda sendiri)
Di bawah ini adalah kode metode permintaan yang dienkapsulasi
pembantu paket; impor java.io.bufferedreader; impor java.io.ioexception; impor java.io.inputStreamreader; impor java.io.printwriter; impor java.io.unsupportedencodingException; impor java.net.url; impor java.net.uret.ururl; java.util.list; import java.util.map; kelas publik httprequest { /** * Kirim permintaan metode GET ke URL yang ditentukan * * @param URL * URL untuk mengirim permintaan * @param parameter * Parameter permintaan, parameter permintaan harus dalam bentuk name1 = value1 & value2 = value2. * @Return URL Hasil respons dari sumber daya jarak jauh yang diwakili oleh sumber daya jarak jauh*/ public static string sendGet (string url, string param) {string result = ""; BufferedReader di = null; coba {string urlnamestring = url + "?" + param; Url realUrl = URL baru (urlnamestring); // buka koneksi antara koneksi URL URLConnection = realUrl.openconnection (); // Atur koneksi atribut permintaan umum.setRequestProperty ("terima", "*/*"); Connection.setRequestProperty ("Connection", "Keep-Alive"); Connection.setRequestProperty ("User-Agent", "Mozilla/4.0 (kompatibel; MSIE 6.0; Windows NT 5.1; SV1)"); // Buat koneksi koneksi aktual.connect (); // Dapatkan semua bidang header respons peta <string, daftar <string>> map = connection.getHeaderFields (); // lintasi semua bidang header respons untuk (tombol string: map.keyset ()) {System.out.println (key + "--->" + Map.get (key)); } // Tentukan aliran input BufferedReader untuk membaca respons URL di = BufferedReader baru (inputStreamReader baru (connection.getInputStream ())); Garis string; while ((line = in.readline ())! = null) {result += line; }} catch (Exception e) {System.out.println ("Pengecualian terjadi saat mengirim permintaan GET!" + E); e.printstacktrace (); } // Gunakan blok akhirnya untuk menutup aliran input akhirnya {coba {if (in! = Null) {in.close (); }} catch (Exception e2) {e2.printstacktrace (); }} hasil pengembalian; } /** * Kirim permintaan ke URL yang ditentukan * URL @param * URL untuk mengirim permintaan * @param paramer * parameter permintaan, parameter permintaan harus dalam bentuk nama1 = value1 & name2 = value2. * @Return Hasil respons dari sumber daya jarak jauh yang diwakili oleh */ public static string sendPost (string url, string param) {printwriter out = null; BufferedReader di = null; Hasil string = ""; coba {url realUrl = URL baru (url); // buka koneksi antara urlconnection conn = realUrl.openconnection (); // Atur atribut permintaan umum Conn.setRequestProperty ("Recept", "*/*"); Conn.setRequestProperty ("Connection", "Keep-Alive"); Conn.setRequestProperty ("User-Agent", "Mozilla/4.0 (kompatibel; MSIE 6.0; Windows NT 5.1; SV1)"); // Untuk mengirim permintaan pos, Anda harus mengatur dua baris berikut ke Conn.setDoOutput (true); Conn.setDoInput (true); // Dapatkan aliran output yang sesuai dengan objek URLConnection out = printwriter baru (conn.getoutputStream ()); // Kirim parameter permintaan out.print (param); // buffer out.flush () dari aliran output flush; // Tentukan aliran input BufferedReader untuk membaca respons URL di = BufferedReader baru (inputStreamReader baru (conn.getInputStream ())); Garis string; while ((line = in.readline ())! = null) {result += line; }} catch (Exception e) {System.out.println ("Pengecualian terjadi saat mengirim permintaan pos!" +e); e.printstacktrace (); } // Gunakan akhirnya blok untuk menutup aliran output dan aliran input akhirnya {coba {if (out! = Null) {out.close (); } if (in! = null) {in.close (); }} catch (ioException ex) {ex.printstacktrace (); }} coba {hasil = string baru (result.getBytes ("iso8859-1"), "utf-8"); } catch (UnsupportedEncodingException e) {// TODO Auto-Enchenerated Catch Block E.PrintStackTrace (); } hasil pengembalian; }}Berikut ini adalah metode permintaan
String mapparameter = string baru ("TableId = 568BD32B305A2A31F604C650 & CITY = Beijing & Kata Kunci =%20 & Filter = Jenis: Batas Masseur = 15 & Halaman = 1 & Key =?"). GetBytes ("ISO885-1"), "UTF-8");
String returnResult = httprequest.sendpost ("http://yuntuapi.amap.com/datasearch/local", mapparameter);
out.println ("<script> alert ("+returnResult+"); </script>");
Kondisi pemfilteran yang kami minta di sini adalah bidang yang kami buat sendiri (dan kami mengaturnya ke bidang indeks) Tipe: Massager ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
3. Servlet menghitung jarak antara dua garis lintang dan bujur
Ini adalah jarak antara servlet dan personel layanan melalui garis lintang dan bujur. Ini sebenarnya adalah hubungan satu-ke-banyak. Satu orang yang dilayani dapat sesuai dengan N orang yang menyediakan layanan. Lintang dan bujur personel layanan yang terletak di lokasi akan cocok dengan garis lintang dan bujur dari semua personel layanan yang ditemukan kali ini dan menghitung jarak.
Berikut ini adalah metode menghitung jarak. Ini adalah metode umum yang berlaku untuk semua peta utama.
getDistance ganda statis publik (start latlng, latlng end) {double lat1 = (math.pi/180)*start.latitude; ganda lat2 = (math.pi/180)*end.latitude; ganda lon1 = (math.pi/180)*start.longitude; ganda lon2 = (math.pi/180)*end.longitude; double r = 6371; Double D = Math.acos (Math.sin (LAT1)*Math.sin (Lat2)+Math.cos (Lat1)*Math.cos (LAT2)*Math.cos (lon2-lon1))*r; mengembalikan d*1000; } Latlng dalam parameter Anda dapat membuat kelas sendiri, yang berisi dua bidang yang bertipe ganda. Satu mewakili ketepatan dan yang lainnya mewakili garis lintang.
Proses yang dihasilkan dengan menggunakan metode ini: Ketika pengguna membuka antarmuka aplikasi personel layanan, ia meminta antarmuka untuk membaca daftar personel layanan. Pada saat ini, Servlet perlu meminta informasi personel layanan di peta cloud Gaode sekali. Anda dapat membatasi jumlah kueri, dan kemudian menanyakannya. Lintang dan bujur di setiap data dililitkan dan garis lintang dan bujur yang ditransmisikan oleh antarmuka APP yang dibuka oleh personel layanan, dan menghitung jarak relatif. Saya dapat menerbitkan esai iOS besok, yang sesuai dengan antarmuka ini, terutama diposting pada kode basis data peta cloud-lokasi yang diimplementasikan di iOS.
Di atas adalah semua konten artikel ini. Saya berharap ini akan membantu untuk pembelajaran semua orang dan saya harap semua orang akan lebih mendukung wulin.com.