پرسشگان زمین‌کدیابی

این پرسشگان سؤالات مربوط به Geocoding API را پوشش می‌دهد. برای پرسش‌های مشترک در همه «پلاتفرم Google Maps»، به پرسشگان «پلاتفرم Google Maps» مراجعه کنید. همچنین روال‌های مطلوب هنگام زمین‌کد کردن نشانی‌ها را ببینید.

عیب‌یابی

عیب‌یابی

پُرسمان‌های بیشتری دریافت می‌کنم که با مکان‌یاب جغرافیایی «بدون نتیجه» برمی‌گردانند. چه خبر است؟

در زمین‌کدیاب، پُرسمان‌های مبهم، ناقص، و با قالب‌بندی نادرست، مثل نشانی‌های دارای غلط املایی یا نشانی‌های غیرواقعی، مستعد تولید ZERO_RESULTS هستند. اگر نشانی پیدا نشود، بهتر است ZERO_RESULTS (بدون نتیجه) به‌جای نتیجه ناقص (برای مثال، فقط حومه شهر به‌جای نشانی) برگردانده شود.

اگر برنامه شما با ورودی کاربر برای نشانی‌ها سروکار دارد، ویژگی تکمیل خودکار مکان در Places API ممکن است نتایج با کیفیت بهتری تولید کند. «تکمیل خودکار مکان» به کاربران امکان می‌دهد از میان مجموعه‌ای از نتایج براساس آنچه تایپ کرده‌اند انتخاب کنند، که به کاربران امکان می‌دهد بین نتایج با نام‌های مشابه انتخاب کنند و اگر نشانی را اشتباه تایپ کرده‌اند پُرسمان خود را اصلاح کنند.

اگر برنامه‌ای دارید که با پُرسمان‌های مبهم یا ناقص یا پُرسمان‌هایی که ممکن است حاوی خطا باشند سروکار دارد، توصیه می‌کنیم به‌جای ژئوکدینگ مستقیم موجود در Geocoding API، از ویژگی تکمیل خودکار مکان در Places API استفاده کنید. برای جزئیات بیشتر، روال‌های مطلوب هنگام زمین‌کد کردن نشانی‌ها و زمین‌کد کردن نشانی در پست وبلاگ «میاناهای برنامه‌سازی کاربردی Google Maps» را ببینید.

به پاسخ‌های سریع نیاز دارم و کدبند جغرافیایی برای برنامه من خیلی کند است. برای پاسخ‌های سریع‌تر از چه چیزی می‌توانم استفاده کنم؟

توصیه می‌کنیم برنامه‌هایی که به ورودی کاربر پاسخ می‌دهند و بنابراین به تأخیر بسیار حساس هستند، به‌جای زمین‌کد کردن نشانی، از ویژگی تکمیل خودکار مکان در Places API (که در JavaScript، Android، یا iOS نیز دردسترس است) استفاده کنند. «تکمیل خودکار جا» برای استفاده تعاملی بهینه شده است و بنابراین تأخیر بسیار کمی دارد.

زمین‌کدیابی نشانی در Geocoding API برای استفاده با نشانی‌های کامل، بدون ابهام، و با قالب‌بندی مناسب (مثل نشانی‌های تحویل کالا که در فرم‌های آنلاین وارد می‌شود) بهینه‌سازی شده است و بنابراین تأخیر بالاتری نسبت‌به «تکمیل خودکار جا» دارد. کدبند جغرافیایی مستقیم پوشش بیشتری دارد و کیفیت نتیجه بهتری ارائه می‌دهد، اما با کمی تأخیر بیشتر.

چگونه می‌توانم تأخیر در Directions API (قدیمی) و Distance Matrix API (قدیمی) را کاهش دهم؟

به‌جای نشانی، از شناسه‌های مکان برای مشخص کردن ایستگاه‌های بین راهی، مبدأ، و مقصد استفاده کنید. بهترین راه برای دریافت شناسه‌های مکان استفاده از ویژگی تکمیل خودکار مکان در Places API یا کتابخانه مکان‌ها در Maps JavaScript API است. همچنین اطلاعات مربوط به گزینه placeIdOnly را ببینید که می‌توان از آن برای کاهش هزینه «تکمیل خودکار جا» استفاده کرد.

وقتی Directions API (قدیمی) یا Distance Matrix API (قدیمی) با رشته نشانی به‌جای شناسه مکان یا طول و عرض جغرافیایی پُرسمان می‌شود، از همان باطن Geocoding API برای تبدیل آن نشانی به شناسه مکان قبل‌از محاسبه مسیرها استفاده می‌کند. «تکمیل خودکار جا» سریع‌تر از «زمین‌کد کردن نشانی» است. برای برنامه‌هایی که در موقعیت‌های بسیار حساس به تأخیر از Directions API (قدیمی) یا Distance Matrix API (قدیمی) استفاده می‌کنند، مثل پاسخ دادن به ورودی کاربر، توصیه می‌کنیم از «تکمیل خودکار مکان» برای دریافت شناسه‌های مکان مربوط به آن نشانی‌ها استفاده کنید و شناسه‌های مکان را به Directions API (قدیمی) یا Distance Matrix API (قدیمی) ارسال کنید. این رویکرد تأخیر را به‌طور قابل‌توجهی کاهش می‌دهد. برای نمونه‌ای از نحوه استفاده از «تکمیل خودکار مکان» با مسیرها، به اسناد ما مراجعه کنید.

چگونه اشکالات موجود در کدبند جغرافیایی را گزارش کنم؟

اگر گزارش اشکال یا درخواست ویژگی برای سرویس زمین‌کدگذاری مستقیم دارید، بااستفاده از Issue Tracker عمومی به ما اطلاع دهید.

کدبند جغرافیایی برای مورد استفاده من نتایج خوبی تولید نمی‌کند. چه کمکی دردسترس است؟

بااستفاده از ردیاب عمومی مشکل ما، چند پُرسمان خاص را هم‌رسانی کنید تا بتوانیم بررسی کنیم آیا اشکال یا مشکلات سیستمی وجود دارد که باعث بروز مشکل در کیفیت نتایج می‌شود یا نه، یا آیا تغییراتی وجود دارد که بتوانیم در راهنمای روال‌های مطلوب ایجاد کنیم تا به توسعه‌دهندگان کمک کنیم نتایج بهتری دریافت کنند.

چگونه بااستفاده از فیلتر کردن مؤلفه، بهترین نتایج را با کدبند جغرافیایی دریافت کنم؟

در کدبند جغرافیایی، فیلتر کردن عنصر فقط محدودیت‌های postal_code و country را اعمال می‌کند. مثال‌های زیر نشان می‌دهند که چگونه می‌توان از فیلتر کردن مؤلفه به بهترین شکل استفاده کرد، بسته به نتایجی که نیاز دارید. در نشانی‌های وب درخواست نمونه، حتماً `YOUR_API_KEY` را با کلید میانای برنامه‌سازی کاربردی واقعی‌تان جایگزین کنید.

  • برای محدود کردن کد پستی به کشوری خاص، حتماً محدودیت کشور را بااستفاده از کد کشور ISO 3166-2 مشخص کنید. برای مثال: components=country:CH|postal_code:8000 «8000 Zürich, Switzerland» را برمی‌گرداند.
    https://maps.googleapis.com/maps/api/geocode/json?components=country:CH%7Cpostal_code:8000&key=YOUR_API_KEY
  • برای محدود کردن پُرسمان‌ها به کشوری خاص، حتماً محدودیت کشور را بااستفاده از کد کشور ISO 3166-2 مشخص کنید. نام کشورها و دیگر اختصارها ممکن است نتایجی مشابه کدهای کشور تولید نکنند.

    مثال‌ها:

    • زمین‌کدیابی برای components=country:FRA|locality:gallus زیرمنطقه گالوس در فرانکفورت آم ماین، آلمان را برمی‌گرداند. دلیل آن این است که کد ۳ حرفی کشور فرانسه (FRA) پشتیبانی نمی‌شود، بنابراین نتایج در هر کشوری مجاز است و نتیجه در فرانکفورت نسبت‌به هر چیزی در فرانسه مناسب‌تر است.
      https://maps.googleapis.com/maps/api/geocode/json?components=country:FRA%7Clocality:gallus&key=YOUR_API_KEY
  • ‫Geocoding API لزوماً برای پُرسمان‌های مبهم چندین نتیجه برنمی‌گرداند. بهتر است به این پُرسمان‌ها با «تکمیل خودکار مکان» پاسخ داده شود.

    مثال‌ها:

    • components=country:US|locality:madrid«مادرید، نیومکزیکو ۸۷۰۱۰، ایالات متحده امریکا» برمی‌گرداند اما هیچ‌یک از شهرهای دیگر در ایالات متحده امریکا که نامشان «مادرید» است را برنمی‌گرداند.
      https://maps.googleapis.com/maps/api/geocode/json?components=country:US%7Clocality:madrid&key=YOUR_API_KEY
    • استفاده از «تکمیل خودکار جا» برای input=madrid&components=country:us&types=(regions)، و همچنین مشخص کردن ناحیه نمایش بااستفاده از location و radius برای سوگیری نتایج مکان، پاسخی با چندین شهر در ایالات متحده با نام «مادرید» تولید می‌کند.
      https://maps.googleapis.com/maps/api/place/autocomplete/json?location=37.386052,-122.083851&radius=10000&input=madrid&components=country:us&types=(regions)&key=YOUR_API_KEY