سيكون هناك المزيد من المقالات حول خريطة Gaode.
1. وصف الأعمال
هناك نوعان من الأعضاء في أعمال التطبيق المقابلة: أحدهما هو موظفي الخدمة والآخر هو موظفي الخدمة. يدرك بشكل أساسي الوظائف وتحديد موقع موظفي الخدمة في التطبيق في الوقت المناسب. بعد ذلك ، يتم حساب وحدة المسافة M بين موظفي الخدمة وموظفي الخدمة من خلال خطوط الطول والعرض المقدمة عندما يقوم موظفو الخدمة بتسجيل الدخول إلى التطبيق.
فيما يلي العملية التفصيلية بأكملها ، من إنشاء تطبيق مقابل Gaode (لن أتحدث عنه إذا قمت بالتسجيل هنا) ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
2. قم بإنشاء تطبيق خريطة Gaod
بعد تسجيل حساب ، قم بتسجيل الدخول وانقر فوق وحدة التحكم في الزاوية اليمنى العليا. ستظهر الواجهة التالية. أخذت لقطة شاشة.
بالطبع ، هذه هي الواجهة التي قمت بتسجيلها. إذا لم تسجل ، فما عليك سوى الحصول على المفتاح. انقر هنا مباشرة لإنشاء التطبيق الخاص بك. يمكنك الحصول على اسم التطبيق في الإرادة ، لأننا servlets هنا للتعامل معه.
الأعمال ذات الصلة ، وبالتالي فإن الخيار هو واجهة برمجة تطبيقات خدمة الويب. هنا تنقر للحصول على المفتاح وستظهر لقطة الشاشة أدناه.
بعد اكتمال هذه الخطوة ، يمكننا إنشاء المخطط السحابي الذي نريده ، وإدخال وحدة التحكم ، وحدد الماوس للانتقال إلى بياناتي ، ثم حدد محطة إدارة البيانات (الويب) أدناه لإدخال الواجهة لإضافة مخططات سحابية.
فيما يلي لقطة شاشة بعد الدخول. بعد لقطة الشاشة هذه ، سأشرحها مباشرة في النص.
لقطة الشاشة أعلاه هي النتيجة التي أنشأتها. هنا نحتاج أولاً إلى النقر فوق تنزيل قالب البيانات في الزاوية اليمنى العليا. بعد تنزيل القالب ، قم بتعديل البيانات المقابلة ، وأضف الحقول التي تحتاجها ، ثم انقر فوق الخريطة الجديدة إلى
يتم استيراد القالب المعدل في مكتبة السحابة. هذا القالب هو في الواقع جدول قاعدة بيانات يتم تصديره بواسطة Excel. أدناه أعتترض مباشرة الجدول الذي أنشأته. أضفت حقلين إلى هذا الجدول وتعيين حقل واحد إلى حقل الفهرس.
تذكر أنه يجب الحفاظ على اسم الحقل الأحمر (يمكن تعديل المحتوى حسب الرغبة) ، والذي يتم تضمينه في قالب النظام. تتم إضافة الحقولين السوداء في النهاية في حد ذاته ويمكن تعديلها حسب الرغبة. حتى إذا قمت بتحميله على خادم خريطة Gaode Cloud ، فيمكن تغييره.
بعد تحميل الجدول أعلاه ، ستقوم بفتح إدارة البيانات السابقة (الويب) وستظهر واجهة الخريطة السابقة. تظهر كتلة الخريطة على اليسار. انقر وستشاهد المعلومات التفصيلية للشخص الذي قمت بتحميله ، بالإضافة إلى شعار النجمة الأصفر المكون من خمسة نقاط معروضة على الخريطة من خلال خط العرض والطول المحمّل. هناك لقطات شاشة أدناه
يتم تعديل الحقول المعروضة في هذا الجدول من قبلي ، ولم يتم تحميلها في Excel الآن. يمكن للنقر على العنوان في العمود إجراء سلسلة من الإعدادات. لن أخوض في التفاصيل.
فقط تحدث عن إعدادات حقل الفهرس.
بعد الدخول ، اخترت تصفية فهرس الفرز-> تصفية فهرس الفرز هو تعيين حالة مرشح للحقول المضافة حديثًا للمستخدم.
أنا أستخدم نوع المستخدم الذي تم التقاطه في صورة السحابة أعلاه. سوف ألتقط صورة لك أيضًا.
في هذه المرحلة ، سنكمل خطوات إنشاء خريطة السحابة بالكامل وتحميلها. . . بعد ذلك سأتحدث عن الطريقة التي تسمى.
2. طريقة طلب مكتبة صور Servlet Query Cloud
1. أول منصب عنوان وثيقة المطور:
http://lbs.amap.com/yuntu/reference/cloudsearch/ أقترح عليك التحقق من ذلك بنفسي
هنا ، يستخدم Servlet واجهة برمجة تطبيقات استرجاع السحابة ، ويستخدم التطبيق المقابل واجهة برمجة تطبيقات التخزين السحابية. ربما غدًا ، ستتم إضافة مقال عن الموقع الزمني لعميل iOS الذي يتوافق مع هذه الواجهة.
فيما يلي تنسيق عنوان URL المنسق. أدخل التحديث مباشرة في عنوان URL للحصول على البيانات ذات الصلة عن طريق GET.
http://yuntuapi.amap.com/datasearch/local؟tableD=568bd32b305a2a31f604c650&city=beijing&keywords=٪20&filter=type: service staff limit = 1 & page = 1 & key =؟ (مفتاح المعلمات هنا كل ما تبذلونه من ذلك)
فيما يلي رمز طريقة الطلب المغطى
مساعد الحزمة استيراد java.io.bufferedReader ؛ استيراد java.io.ioException ؛ استيراد java.io.inputstreamreader ؛ استيراد java.io.printwriter ؛ استيراد java.io.unsupportedencodingexception ؛ استيراد java.net.url ؛ import java.net java.util.list ؛ استيراد java.util.map ؛ الفئة العامة httprequest { /** * أرسل طلب الحصول على طريقة الحصول على عنوان URL * * url url * url لإرسال الطلب * param param * المعلمات طلب ، يجب أن تكون معلمات الطلب في شكل name1 & name2 = value2. * return url response نتيجة للموارد عن بُعد الممثلة في المورد عن بُعد*/ سلسلة ثابتة عامة sendget (url url string ، string param) {string result = "" ؛ BufferedReader في = فارغة ؛ حاول {String urlnamestring = url + "؟"؟ + param ؛ url realurl = url جديد (urlnamestring) ؛ // افتح الاتصال بين اتصال urlconnection url = realurl.openconnection () ؛ // قم بتعيين Connection.SetRequestProperty ("قبول" ، "*/*") ؛ connection.setRequestProperty ("connection" ، "keep-alive") ؛ connection.setRequestProperty ("Assion-Agent" ، "Mozilla/4.0 (متوافق ؛ MSIE 6.0 ؛ Windows NT 5.1 ؛ SV1)") ؛ // إنشاء اتصال فعلي connection.connect () ؛ // احصل على جميع حقول رأس الاستجابة <string ، قائمة <Tring>> map = connection.getheaderfields () ؛ . }. خط السلسلة بينما ((line = in.readline ())! = null) {result += line ؛ }} catch (استثناء e) {system.out.println ("حدث استثناء عند إرسال طلب الحصول على!" + e) ؛ E.PrintStackTrace () ؛ } // استخدم أخيرًا كتلة لإغلاق دفق الإدخال أخيرًا {try {if (in! = null) {in.close () ؛ }} catch (استثناء e2) {e2.printStackTrace () ؛ }} نتيجة الإرجاع ؛ } /** * أرسل طلبًا إلى url المحدد * url url * url لإرسال طلب * param param * المعلمة ، يجب أن تكون معلمة الطلب في نموذج name1 = value1 & name2 = value2. * return استجابة نتيجة المورد عن بُعد يمثله */ public static String SendPost (url url ، String param) {printWriter Out = null ؛ BufferedReader في = فارغة ؛ نتيجة السلسلة = "" ؛ حاول {url realurl = url new (url) ؛ // افتح الاتصال بين urlconnection conn = alwurl.openconnection () ؛ // قم بتعيين سمة الطلب العام conn.setRequestProperty ("قبول" ، "*/*") ؛ Conn.SetRequestProperty ("connection" ، "keep-alive") ؛ Conn.SetRequestProperty ("Asser-Agent" ، "Mozilla/4.0 (متوافق ؛ MSIE 6.0 ؛ Windows NT 5.1 ؛ SV1)") ؛ // لإرسال طلب منشور ، يجب عليك تعيين السطرين التاليين على conn.setDooutput (True) ؛ conn.setDoInput (صواب) ؛ // احصل على دفق الإخراج المقابل لكائن urlConnection Out = new printWriter (conn.getOutputStream ()) ؛ // إرسال المعلمة request Out.print (param) ؛ // buffer out.flush () من دفق الإخراج Flush ؛ . خط السلسلة بينما ((line = in.readline ())! = null) {result += line ؛ }} catch (استثناء e) {system.out.println ("حدث استثناء عند إرسال طلب البريد!" +e) ؛ E.PrintStackTrace () ؛ } // استخدم الكتل أخيرًا لإغلاق دفق الإخراج ودفق الإدخال أخيرًا {try {if (out! = null) {out.close () ؛ } if (in! = null) {in.close () ؛ }} catch (ioException ex) {ex.printStackTrace () ؛ }} try {result = new string (result.getBytes ("ISO8859-1") ، "UTF-8") ؛ } catch (UnsupportedEncodingException e) {// todo catch catch e.printstacktrace () ؛ } نتيجة الإرجاع ؛ }}ما يلي هو طريقة الطلب
سلسلة mapparameter = سلسلة جديدة ("TableId = 568bd32b305a2a31f604c650 & city = beijing & keywords = ٪ 20 & filter = type: masseur limit = 15 & page = 1 & key =؟"
String ReturnResult = httprequest.sendpost ("http://yuntuapi.amap.com/datasearch/local" ، mapparameter) ؛
Out.println ("<script> ALERT ("+returnResult+") ؛ </script>") ؛
حالة التصفية التي نستفسر عنها هنا هي الحقل الذي أنشأنا أنفسنا (وقمنا بتعيينه على حقل فهرس) النوع: Massager --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
3. Servlet يحسب المسافة بين خطوط العرض والطول
هذه هي المسافة بين servlet وموظفي الخدمة من خلال خط العرض وخط الطول. هذه في الواقع علاقة واحدة إلى حد ما. شخص واحد يجري تقديمه يمكن أن يتوافق مع الأشخاص الذين يقدمون الخدمات. سوف يتطابق خطوط الطول والطول لموظفي الخدمة الموجودين في الموقع مع خطوط الطول والطول لجميع موظفي الخدمة الذين بحثوا هذه المرة وحساب المسافة.
فيما يلي طريقة لحساب المسافة. هذه طريقة شائعة تنطبق على جميع الخرائط الرئيسية.
getDistance الثابتة العامة (Latlng start ، latlng end) {double lat1 = (Math.pi/180)*start.latitude ؛ Double LAT2 = (Math.PI/180)*end.latitude ؛ double lon1 = (Math.pi/180)*start.longitude ؛ double lon2 = (Math.pi/180)*end.longitude ؛ مزدوج R = 6371 ؛ double d = math.acos (math.sin (lat1)*math.sin (lat2)+math.cos (lat1)*math.cos (lat2)*math.cos (lon2-lon1))*r ؛ إرجاع D*1000 ؛ } في المعلمة في المعلمة ، يمكنك إنشاء فئة بنفسك ، والتي تحتوي على حقلين من النوع المزدوج. واحد يمثل الدقة والآخر يمثل خط العرض.
العملية التي تم إنشاؤها باستخدام هذه الطريقة: عندما يفتح المستخدم واجهة التطبيق لموظفي الخدمة ، يطلب الواجهة لقراءة قائمة موظفي الخدمة. في هذا الوقت ، يحتاج Servlet إلى الاستعلام عن معلومات موظفي الخدمة في خريطة Gaode Cloud مرة واحدة. يمكنك الحد من عدد الاستفسارات ، ثم الاستعلام عنها. يتم حلق خطوط الطول والعرض في كل بيانات ويتم نقل خطوط الطول والطول بواسطة واجهة التطبيق التي يتم فتحها من قبل موظفي الخدمة ، وحساب المسافة النسبية. قد أنشر مقال iOS غدًا ، والذي يتوافق مع هذه الواجهة ، والذي تم نشره بشكل رئيسي على رمز قاعدة بيانات MAP Cloud Cloud التي تم تنفيذها على iOS.
ما سبق هو كل محتوى هذه المقالة. آمل أن يكون ذلك مفيدًا لتعلم الجميع وآمل أن يدعم الجميع wulin.com أكثر.