ژئوکدینگ فرآیند تبدیل آدرسها (مانند آدرس خیابان) به مختصات جغرافیایی (طول و عرض جغرافیایی) است که میتوانید از آن برای قرار دادن نشانگرها روی نقشه یا موقعیتیابی نقشه استفاده کنید. تمرکز این سند روشن کردن ملاحظات مربوط به هنگام کدگذاری آدرسها است. این توضیح می دهد که چه زمانی استفاده از Geocoding API بهینه است و چه زمانی استفاده از سرویس Places API Place Autocomplete مفید است.
به طور کلی، هنگام کدگذاری جغرافیایی آدرس های کامل، از API Geocoding استفاده کنید (به عنوان مثال، "48 Pirrama Rd، Pyrmont، NSW، استرالیا"). از سرویس تکمیل خودکار Places API Places هنگام کدگذاری جغرافیایی آدرسهای مبهم (ناقص) یا برای برنامههای حساس به تأخیر، مانند زمانی که به ورودی کاربر پاسخ میدهید، استفاده کنید.
از موارد و توصیه های API استفاده کنید
از موارد و توصیه های API استفاده کنید | |
---|---|
پاسخ به ورودی کاربر، در زمان واقعی (شامل آدرسهای مبهم، ناقص، با قالببندی ضعیف یا غلط املایی وارد شده توسط کاربر) | از سرویس Places API Place Autocomplete برای بدست آوردن شناسه مکان استفاده کنید، سپس از Geocoding API برای geocode شناسه مکان در یک latlng استفاده کنید. |
سیستمهای خودکار آدرسهای پستی کامل و بدون ابهام را پردازش میکنند (به عنوان مثال، "48 Pirrama Rd، Pyrmont، NSW، استرالیا") | از وب سرویس Geocoding API استفاده کنید. |
سیستمهای خودکاری که پرسوجوهای مبهم را پردازش میکنند (مثلاً آدرسهای ناقص، با قالببندی ضعیف یا غلط املایی) | توصیه می شود سیستم های خودکار از وب سرویس Geocoding API استفاده کنند. با این حال، سیستمهای خودکار با نرخ بالای پرسوجوهای مبهم، ناقص یا غلط املایی ناشی از ورودی کاربر، ممکن است از افزودن یک ویجت تعاملی تکمیل خودکار مکان بهره ببرند تا به کاربران امکان انتخاب نتیجه را بدهد و در نتیجه از غلط املایی آدرس اجتناب کنند. |
مشکلات تأخیر با استفاده از Directions API یا Distance Matrix API، با مبدا، مقصد، یا نقاط بین تعیین شده به عنوان رشته آدرس | با استفاده از سرویس Places API Place Autocomplete برای به دست آوردن شناسه مکان، تأخیر کدگذاری جغرافیایی را کاهش دهید، سپس شناسههای مکان را به Directions API یا Distance Matrix API منتقل کنید. |
پاسخ به ورودی کاربر
برنامههایی که در زمان واقعی به ورودی کاربر پاسخ میدهند، دو ملاحظه اصلی دارند که بر انتخاب API تأثیر میگذارند:
- ورودی کاربر به طور کلی شامل وارد کردن یک آدرس به صورت تدریجی است (مانند «خیابان اصلی 123»)، بنابراین امکان ژئوکدگذاری آدرسهای ناقص و مبهم مفید است زیرا به کاربر اجازه میدهد سریعتر به نتیجه برسد.
- برنامه هایی که به ورودی کاربر پاسخ می دهند بسیار حساس به تأخیر هستند.
این دو ملاحظات ، سرویس تکمیل خودکار مکان را در Places API برای پاسخگویی به ورودی کاربر ایده آل می کند. تکمیل خودکار مکان به گونه ای طراحی شده است که چندین گزینه ممکن را برمی گرداند و به کاربر اجازه می دهد بین آنها یکی را انتخاب کند. API Places را میتوان محدود کرد به جستجوی تنها ژئوکدها یا آدرسها و در عین حال مستثنی کردن مشاغل. علاوه بر این، تابع جستجوی تکمیل خودکار میتواند برای بازگرداندن نتایج خاص به یک مکان بایاس باشد. Places API یک شناسه مکان را برمیگرداند که میتواند بهعنوان یک مکان کاملاً ابهامشده به وب سرویس Geocoding API ارسال شود، که سپس جزئیات آدرس کامل را برمیگرداند و آدرس را در یک latlng کد جغرافیایی میکند. شناسههای مکان همچنین میتوانند به APIهای دیگر مانند Directions API و Distance Matrix API منتقل شوند ( به زیر مراجعه کنید ).
geocoding آدرس در Geocoding API تأخیر بسیار بالاتری دارد و همچنین نتایج دقیق کمتری برای پرس و جوهای ناقص یا مبهم ایجاد می کند، بنابراین برای برنامه هایی که باید در زمان واقعی به ورودی کاربر پاسخ دهند توصیه نمی شود.
اطلاعات بیشتری در مورد سرویس تکمیل خودکار مکان برای Android ، iOS ، جاوا اسکریپت و Places API دریافت کنید.
سیستم های خودکار
پردازش سیستمهای خودکار آدرسهای پستی کامل، بدون ابهام : درخواستهای بدون ابهام مانند رشتههای آدرس کامل پستی (به عنوان مثال، "48 Pirrama Rd، Pyrmont، NSW، استرالیا") به بهترین وجه توسط وب سرویس Geocoding API رسیدگی میشوند. باطن کدگذاری جغرافیایی آدرس، پوشش بیشتری از آدرس ها را در سطح جهانی فراهم می کند، و برای نتایج با کیفیت بالا با این نوع پرس و جوهای کامل و بدون ابهام بهینه شده است.
پردازش خودکار پرس و جوهای مبهم سیستم : پرس و جوهای مبهم آنهایی هستند که دارای آدرس هایی با قالب بندی ضعیف، آدرس های ناقص یا اشتباهات املایی هستند. برای سیستم های خودکار، توصیه می کنیم از وب سرویس Geocoding API استفاده کنید. با این حال، Geocoding API برای رویارویی با پرس و جوهای مبهم طراحی نشده است و ممکن است در پاسخ به پرس و جوهای مبهم نتایج کمتری با دقت یا نتایج صفر تولید کند. اگر سیستم خودکار شما نرخ بالایی از جستارهای مبهم را که از ورودی کاربر به دست میآیند پردازش میکند، ممکن است از افزودن یک عنصر تعاملی به برنامه خود با استفاده از سرویس تکمیل خودکار مکان در Places API بهره مند شوید، زیرا برای بازگرداندن چندین گزینه ممکن طراحی شده است. به کاربر اجازه می دهد بین آنها یکی را انتخاب کند. Places API یک شناسه مکان را برمیگرداند که میتواند بهعنوان یک مکان کاملاً ابهامشده به وب سرویس Geocoding API ارسال شود، که سپس جزئیات آدرس کامل را برمیگرداند و آدرس را در یک latlng کد جغرافیایی میکند. اطلاعات بیشتری در مورد سرویس تکمیل خودکار مکان برای Android ، iOS ، جاوا اسکریپت و Places API دریافت کنید.
کاهش تأخیر برای Directions API و Distance Matrix API
هنگامی که مبدا، مقصد، یا ایستگاههای بین راهی بهعنوان رشتههای آدرس مشخص میشوند، Directions API و Distance Matrix API از همان Backend API Geocoding برای این آدرسها قبل از محاسبه جهتها استفاده میکنند. این به طور قابل توجهی تأخیر را در مقایسه با تعیین مکان های مشابه با latlng ها یا شناسه های مکان افزایش می دهد.
اگر برنامه شما از Directions API یا Distance Matrix API در موقعیتهای حساس به تأخیر مانند پاسخ دادن به ورودی کاربر استفاده میکند و مبدا، مقصد یا نقاط بین شما در ابتدا بهعنوان رشتههای آدرس مشخص شدهاند، توصیه میکنیم با استفاده از «تکمیل خودکار مکان» تأخیر را به حداقل برسانید. سرویس Places API برای تبدیل رشته های آدرس به شناسه مکان، سپس شناسه مکان ها را به Directions API یا Distance Matrix API منتقل کنید. اطلاعات بیشتری در مورد سرویس تکمیل خودکار مکان برای Android ، iOS ، جاوا اسکریپت و Places API دریافت کنید. همچنین به نمونه جاوا اسکریپت تکمیل خودکار مکان و مسیرها مراجعه کنید.
نتیجه
بسته به مورد استفاده شما، هنگام کدگذاری آدرسها، استفاده از API Geocoding یا استفاده از سرویس تکمیل خودکار مکان در ترکیب با Geocoding API به شما امکان میدهد برنامههایی ایجاد کنید که نتایج دقیق کدگذاری جغرافیایی و همچنین کاهش تأخیر را به کاربران ارائه دهند.
مدیریت خطاها و تلاش های مجدد
اگر پاسخهای UNKNOWN_ERROR
را دریافت میکنید، این خطاها ناشی از خطاهای گذرا هستند و بهتر است با تلاش مجدد پس از تأخیر کوتاه با آنها مقابله کنید. توصیه میکنیم از کتابخانههای سرویسهای وب پلتفرم Google Maps استفاده کنید که شامل منطق امتحان مجدد میشوند و از تأیید اعتبار پلتفرم Google Maps Premium Plan پشتیبانی میکنند. Java Client ، Python Client ، Go Client ، و Node.js Client برای خدمات Google Maps، کتابخانه های سرویس گیرنده پشتیبانی شده توسط جامعه هستند که برای دانلود و مشارکت در GitHub در دسترس هستند، جایی که دستورالعمل های نصب و کد نمونه را نیز خواهید یافت.
اگر یک کد وضعیت OVER_QUERY_LIMIT
به عنوان پاسخ دریافت کنید، از محدودیت های استفاده برای API فراتر رفته اید. توصیه می کنیم این استراتژی های بهینه سازی استفاده را امتحان کنید.