سؤال

أحاول العثور على طريقة للبحث عن نشاط تجاري، مثل "متاجر البقالة" وعرضها على خريطة جوجل حول الموقع الحالي للمستخدمين.كان هذا أمرًا بسيطًا جدًا مع نمط URL القديم لبدء تشغيل موقع خريطة Apple ولكن لا يمكنني معرفة كيفية القيام بذلك باستخدام MKMapView.أتفهم أنني سأحتاج إلى استخدام فئات MKAnnotations ولكن مشكلتي تكمن في العثور على البيانات.لقد حاولت توصيل عنوان URL أدناه للحصول على المعلومات من Google ولكن حجم البيانات يبدو كبيرًا جدًا.

http://maps.google.com/maps?q=grocery&mrt=yp&sll=37.769561,-122.412844&z=14&output=kml

هل هناك طريقة سهلة لتعيين خاصية تخبر MKMapView بالبحث عن كلمة رئيسية وعرض جميع الأعمال المطابقة حول موقعي الحالي؟أو هل يعرف أحد كيفية الحصول على هذه المعلومات من جوجل؟

هل كانت مفيدة؟

المحلول

يحتوي ملف KML الذي تم إرجاعه بواسطة هذا البحث على الكثير من المعلومات. MKMapView لا توجد طريقة للاستعلام عن Google، لذلك لديك خياران:

  1. استخدم البيانات التي تحصل عليها من هذا الاستعلام NSXMLParser, ، واستخرج فقط الأشياء التي تهمك (ربما العنوان وخط العرض وخط الطول).KML هو مجرد نسخة من XML.

  2. ابحث في مستندات Google للعثور على مكالمة توفر تنسيق بيانات خفيف الوزن.يمكنك تغيير التنسيق في عنوان URL الخاص بك إلى json، لكن المعلومات الموجودة فيه هي نفسها.

بالرغم من ذلك، يبلغ حجم الملف حوالي 50 كيلو بايت فقط.من خلال تجربتي، يستغرق تنزيل ملف XML بحجم 50 كيلو بايت وتحليله حوالي 5 ثوانٍ عبر شبكة الجيل الثالث.

يحرر: لقد وجدت هذا للتو، وأعتقد أنك قد تكون مهتمًا:

يقوم العديد من الأشخاص بنقل البيانات من وإلى خدمات الويب إلى iPhone عبر JSON.هذه طريقة أفضل بكثير من استخدام XML.إن تحليل XML على iPhone أمر سيء للغاية.إنها معقدة للغاية ومربكة للغاية.حاليًا، يستخدم تطبيق YouVersion، Bible، JSON لنقل كل شيء ذهابًا وإيابًا من الخادم ويعمل كل شيء بشكل رائع.

إذا لم يكن لديك خيار حقًا، استخدم JSON على الأقل.إليك مكتبة رائعة لـ JSON أستخدمها حاليًا http://code.google.com/p/json-framework/

من هنا: http://samsoff.es/post/iphone-plist-tutorial/

يمكنك الحصول على JSON عن طريق تغيير سلسلة الطلب إلى هذا:

http://maps.google.com/maps?q=grocery&mrt=yp&sll=37.769561,-122.412844&z=14&output=json

تحرير آخر

إليك مكتبة JSON أخرى تسمى Touch JSON.لقد استخدمت هذا، ومن السهل جدًا تنفيذه.

https://github.com/acf/TouchJSON

نصائح أخرى

بدلاً من استخدام maps?q= فمن الأفضل استخدام واجهة برمجة التطبيقات الرسمية هنا:http://code.google.com/apis/maps/documentation/geocoding/

تعمل ردود JSON الخاصة بواجهة برمجة التطبيقات (API) مع محلل JSON http://code.google.com/p/json-framework/ أفضل (عنوان URL الآخر لا يعرض JSON المتوافق، وهو ليس واجهة برمجة تطبيقات قياسية، لذا قد يكون أكثر عرضة للتغيير).

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top