میتوانید از «سرویس مکانها» و Geocoding API با Maps SDK for Android برای جستجوی مناطق و دریافت اطلاعات بیشتر درباره مکانها استفاده کنید. «سرویس مکانها» و Geocoding API جایگزینهای قدرتمند و پایداری برای دریافت شناسههای جا هستند. اگر ازقبل از شناسه مکان استفاده میکنید، میتوانید از آن شناسهها با سبکبندی دادهمحور برای مرزها استفاده مجدد کنید.
«سرویس مکانها» و «زمینکدیابی» را به روشهای زیر به برنامههای «کیت توسعه نرمافزار Maps برای Android» اضافه کنید:
- کیت توسعه نرمافزار مکانها، ویژه Android یک کتابخانه Android است که حاوی روشهایی برای برگرداندن اطلاعات درباره مکانها است.
- Places API اطلاعات مربوط به مکانها را بااستفاده از درخواستهای HTTP برمیگرداند.
- کلاس Geocoder میتواند بهطور پویا از ورودی کاربر زمینکدیابی و زمینکدیابی معکوس کند.
- Geocoding API به شما امکان میدهد نشانیهای ثابت و شناختهشده را زمینکدیابی کنید.
استفاده از Places Service
استفاده از «جستجوی نوشتار (جدید)» برای پیدا کردن شناسه مکان
میتوانید از REST API جستجوی نوشتار (جدید) در Places API استفاده کنید تا شناسه مکانی را که شامل دادههای منطقه است با مشخص کردن places.id در ماسک فیلد دریافت کنید. استفاده از
«جستجوی نوشتار» (جدید) برای درخواست شناسههای مکان
رایگان است. بیشتر بدانید.
برای مثال، برای دریافت شناسه مکان برای Trinidad، CA میتوانید فراخوانی 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'استفاده از «تکمیل خودکار جاها» برای یافتن مناطق
سرویس تکمیل خودکار مکانها در «کیت توسعه نرمافزار مکانها» برای Android روشی راحت برای جستجوی مناطق توسط کاربران ارائه میدهد. برای پیکربندی سرویس «تکمیل خودکار مکانها»
برای برگرداندن فقط مناطق، از
AutocompleteSupportFragment.setTypesFilter(List)
برای تنظیم فیلتر نوع روی PlaceTypes.REGIONS استفاده کنید.
دریافت جزئیات جا برای یک منطقه
سرویس جزئیات مکان در «کیت توسعه نرمافزار مکانها» برای Android دادههای مربوط به یک منطقه را برمیگرداند که میتواند بسیار مفید باشد. برای مثال، میتوانید:
- شناسههای مکان مرزی را براساس نام مکانها جستجو کنید.
- دریافت ناحیه نمایش برای بزرگنمایی تا مرز.
- نوع عارضه را برای مرز دریافت کنید (برای مثال
locality). - نشانی قالببندیشده را دریافت کنید که در منطقه ایالات متحده به «نام مکان، ایالت، کشور» تبدیل میشود (برای نمونه، «Ottumwa, IA, USA»).
- دادههای مفید دیگری مثل عکسها را دریافت کنید.
استفاده از Geocoding API
Geocoding API به شما امکان میدهد نشانی را به مختصات عرض جغرافیایی و طول جغرافیایی و «شناسه مکان» تبدیل کنید، یا مختصات عرض جغرافیایی و طول جغرافیایی یا «شناسه مکان» را به نشانی تبدیل کنید. موارد استفاده زیر بهخوبی با سبکبندی دادهمحور برای مرزها ترکیب میشوند:
- از «زمینکدیابی» برای دریافت نمای هدف برای یک منطقه استفاده کنید.
- فیلتر کردن مؤلفه را در تماس «زمینکدیابی» خود اعمال کنید تا شناسههای مکان را برای تقسیمات کشوری ۱ تا ۴، محل، یا کد پستی دریافت کنید.
- از زمینکدیابی معکوس برای پیدا کردن شناسههای جا براساس مختصات طول و عرض جغرافیایی استفاده کنید، یا حتی شناسههای جا را برای همه مؤلفهها در مکانی خاص برگردانید.
نمونه زیر از نشانی (با گریز از نشانی وب) برای ارسال درخواست به Geocoding API استفاده میکند:
https://maps.googleapis.com/maps/api/geocode/json?address=1600%20Amphitheatre%20Pkwy%20Mountain%20View%20CA&key=YOUR_API_KEYمیتوانید از زمینکدیابی معکوس برای پیدا کردن شناسه مکانها استفاده کنید. تابع سرویس «زمینکدیابی» در مثال زیر شناسههای مکان را برای همه مؤلفههای نشانی در مختصات طول و عرض جغرافیایی مشخصشده برمیگرداند:
https://maps.googleapis.com/maps/api/geocode/json?latlng=41.864182,-87.676930&key=YOUR_API_KEYاز زمینکدیابی معکوس با فیلتر کردن مؤلفه برای دریافت مؤلفه نشانی برای یک یا چند نوع زیر در مکان مشخصشده استفاده کنید:
administrativeAreacountrylocalitypostalCode
تابع نمونه بعدی استفاده از سرویس «زمینکدیابی» را نشان میدهد که محدودیتهای مؤلفه را با زمینکدیابی معکوس اضافه میکند تا همه مؤلفههای نشانی را در مکان مشخصشده فقط برای نوع locality دریافت کند:
https://maps.googleapis.com/maps/api/geocode/json?latlng=41.864182,-87.676930&result_type=locality&key=YOUR_API_KEY