شما میتوانید از سرویس مکانها و API ژئوکدینگ به همراه Maps SDK برای اندروید برای جستجوی مناطق و کسب اطلاعات بیشتر در مورد مکانها استفاده کنید. سرویس مکانها و API ژئوکدینگ جایگزینهای قدرتمند و پایداری برای به دست آوردن شناسههای مکان هستند. اگر در حال حاضر از شناسههای مکان استفاده میکنید، میتوانید از آن شناسهها با سبکدهی دادهمحور برای مرزها دوباره استفاده کنید.
سرویس مکانها و ژئوکدینگ را به روشهای زیر به Maps SDK خود برای برنامههای اندروید اضافه کنید:
- کیت توسعه نرمافزار مکانها برای اندروید (Places SDK) یک کتابخانه اندروید است که شامل متدهایی برای بازگرداندن اطلاعات مربوط به مکانها میباشد.
- API مکانها با استفاده از درخواستهای HTTP، اطلاعات مربوط به مکانها را برمیگرداند.
- کلاس Geocoder میتواند به صورت پویا از ورودی کاربر، ژئوکدگذاری و ژئوکد معکوس کند.
- API ژئوکدینگ به شما امکان میدهد آدرسهای ثابت و شناختهشده را ژئوکدینگ کنید.
از سرویس مکانها استفاده کنید
برای یافتن شناسه مکان از جستجوی متنی (جدید) استفاده کنید
شما میتوانید از API REST جستجوی متن (جدید) در 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 Autocomplete در Places SDK برای اندروید، روشی مناسب برای جستجوی مناطق توسط کاربران فراهم میکند. برای پیکربندی سرویس Places Autocomplete به گونهای که فقط مناطق را برگرداند، از AutocompleteSupportFragment.setTypesFilter(List) برای تنظیم فیلتر نوع روی PlaceTypes.REGIONS استفاده کنید.
جزئیات مکان را برای یک منطقه دریافت کنید
سرویس Place Details در Places SDK برای اندروید که دادههای مربوط به یک منطقه را برمیگرداند، میتواند بسیار مفید باشد. برای مثال، میتوانید:
- جستجوی شناسههای مکانهای مرزی بر اساس نام مکانها.
- برای بزرگنمایی روی یک مرز، نمای دید را دریافت کنید.
- نوع ویژگی را برای مرز (مثلاً
locality) دریافت کنید. - آدرس قالببندیشده را دریافت کنید، که در منطقه ایالات متحده به «نام مکان، ایالت، کشور» تبدیل میشود (برای مثال، «اوتوموا، آیووا، ایالات متحده آمریکا»).
- اطلاعات مفید دیگری مانند عکسها را دریافت کنید.
استفاده از API کدگذاری جغرافیایی
API مربوط به Geocoding به شما امکان میدهد یک آدرس را به مختصات طول و عرض جغرافیایی و یک شناسه مکان تبدیل کنید، یا مختصات طول و عرض جغرافیایی یا یک شناسه مکان را به یک آدرس تبدیل کنید. کاربردهای زیر به خوبی با سبکدهی مبتنی بر داده برای مرزها ترکیب میشوند:
- از Geocoding برای بدست آوردن نمای یک منطقه استفاده کنید.
- فیلترینگ کامپوننت را روی فراخوانی Geocoding خود اعمال کنید تا شناسههای مکان را برای مناطق اداری ۱ تا ۴، محل یا کد پستی دریافت کنید.
- از ژئوکدینگ معکوس برای یافتن شناسههای مکان بر اساس مختصات طول و عرض جغرافیایی استفاده کنید، یا حتی شناسههای مکان را برای همه اجزای یک مکان خاص برگردانید.
مثال زیر از یک آدرس (با url-escaped) برای ارسال درخواست به 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از ژئوکدینگ معکوس به همراه فیلترینگ کامپوننت برای دریافت کامپوننت آدرس برای یک یا چند نوع از انواع زیر در مکان مشخص شده استفاده کنید:
-
administrativeArea -
country -
locality -
postalCode
تابع مثال بعدی، استفاده از سرویس Geocoding را نشان میدهد که با استفاده از geocoding معکوس، محدودیتهای مؤلفه را اضافه میکند تا تمام مؤلفههای آدرس را در مکان مشخص شده، فقط برای نوع locality دریافت کند:
https://maps.googleapis.com/maps/api/geocode/json?latlng=41.864182,-87.676930&result_type=locality&key=YOUR_API_KEY