میتوانید از سرویس Places و API Geocoding با Maps SDK برای Android برای جستجوی مناطق و دریافت اطلاعات بیشتر درباره مکانها استفاده کنید. سرویس Places و Geocoding API جایگزین های قدرتمند و پایداری برای به دست آوردن شناسه مکان هستند. اگر قبلاً از شناسههای مکان استفاده میکنید، میتوانید از آن شناسهها با سبکهای مبتنی بر داده برای مرزها استفاده مجدد کنید.
خدمات Places و Geocoding را به روشهای زیر به Maps SDK برای برنامههای Android اضافه کنید:
- Places SDK for Android یک کتابخانه اندرویدی است که حاوی روشهایی برای بازگرداندن اطلاعات مکانها است.
- Places API اطلاعات مکانهایی را با استفاده از درخواستهای HTTP برمیگرداند.
- کلاس ژئوکدر می تواند ژئوکد را به صورت پویا از ورودی کاربر معکوس کند.
- Geocoding API به شما امکان می دهد آدرس های استاتیک و شناخته شده را ژئوکد کنید.
از سرویس Places استفاده کنید
از جستجوی متن (جدید) برای یافتن شناسه مکان استفاده کنید
میتوانید از Text Search (جدید) REST API در Places API استفاده کنید تا با مشخص کردن places.id
در فیلد ماسک، یک شناسه مکان که شامل دادههای منطقه است، دریافت کنید. استفاده از جستجوی متن (جدید) برای درخواست شناسه مکان فقط هزینه ای ندارد. بیشتر بدانید .
به عنوان مثال، برای دریافت شناسه مکان برای ترینیداد، کالیفرنیا، می توانید تماس API زیر را انجام دهید:
curl -X POST -d '{ "textQuery" : "Trinidad, CA" }' \ -H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \ -H 'X-Goog-FieldMask: places.id' \ 'https://places.googleapis.com/v1/places:searchText'
برای یافتن مناطق از تکمیل خودکار Places استفاده کنید
سرویس تکمیل خودکار مکانها در Places SDK برای Android راه مناسبی را برای امکان جستجوی مناطق به کاربران شما ارائه میکند. برای پیکربندی سرویس تکمیل خودکار Places برای برگرداندن فقط مناطق، از AutocompleteSupportFragment.setTypesFilter(List)
استفاده کنید تا فیلتر نوع را روی PlaceTypes.REGIONS
تنظیم کنید.
جزئیات مکان را برای یک منطقه دریافت کنید
سرویس جزئیات مکان در Places SDK برای Android دادههای یک منطقه را برمیگرداند میتواند بسیار مفید باشد. به عنوان مثال، شما می توانید:
- شناسههای مکان مرزی را بر اساس نام مکانها جستجو کنید.
- درگاه دید را برای بزرگنمایی به یک مرز دریافت کنید.
- نوع ویژگی را برای مرز دریافت کنید (مثلاً
locality
). - آدرس قالببندیشده را دریافت کنید، که به «نام مکان، ایالت، کشور» در منطقه ایالات متحده تبدیل میشود (به عنوان مثال، «Ottumwa، IA، USA»).
- داده های مفید دیگری مانند عکس ها را دریافت کنید.
از Geocoding API استفاده کنید
Geocoding API به شما امکان می دهد یک آدرس را به مختصات طول و عرض جغرافیایی و یک شناسه مکان تبدیل کنید یا مختصات طول و عرض جغرافیایی یا شناسه مکان را به آدرس تبدیل کنید. کاربردهای زیر به خوبی با استایل داده محور برای مرزها ترکیب می شوند:
- از Geocoding برای دریافت نمای یک منطقه استفاده کنید.
- برای دریافت شناسه مکان برای مناطق اداری 1-4، محله، یا کد پستی، فیلتر مؤلفه را در تماس Geocoding خود اعمال کنید.
- برای یافتن شناسه مکان ها بر اساس مختصات طول و عرض جغرافیایی، از کدگذاری جغرافیایی معکوس استفاده کنید، یا حتی شناسه مکان را برای همه اجزا در یک مکان خاص برگردانید.
مثال زیر از یک آدرس (url-escaped) برای درخواست به API Geocoding استفاده می کند:
https://maps.googleapis.com/maps/api/geocode/json?address=1600%20Amphitheatre%20Pkwy%20Mountain%20View%20CA&key=YOUR_API_KEY
برای پیدا کردن شناسههای مکان میتوانید از ژئوکدینگ معکوس استفاده کنید. مثال زیر تابع سرویس Geocoding شناسه های مکان را برای تمام اجزای آدرس در مختصات طول و عرض جغرافیایی مشخص شده برمی گرداند:
https://maps.googleapis.com/maps/api/geocode/json?latlng=41.864182,-87.676930&key=YOUR_API_KEY
برای دریافت مولفه آدرس برای یک یا چند نوع از انواع زیر در محل مشخص شده، از ژئوکدینگ معکوس با فیلتر کردن مؤلفه استفاده کنید:
-
administrativeArea
-
country
-
locality
-
postalCode
تابع مثال بعدی استفاده از سرویس Geocoding را نشان میدهد که محدودیتهای مؤلفه را با کدگذاری جغرافیایی معکوس اضافه میکند تا همه اجزای آدرس را در مکان مشخص شده فقط برای نوع locality
دریافت کنید:
https://maps.googleapis.com/maps/api/geocode/json?latlng=41.864182,-87.676930&result_type=locality&key=YOUR_API_KEY