אתם יכולים להשתמש בשירות המקומות וב-Geocoding API עם SDK של מפות ל-Android כדי לחפש אזורים ולקבל מידע נוסף על מקומות. השירות Places ו-Geocoding API הם חלופות יציבות ומתקדמות לקבלת מזהי מקומות. אם אתם כבר משתמשים במזהי מקומות, אתם יכולים להשתמש בהם שוב עם סגנון מבוסס-נתונים לגבולות.
כדי להוסיף את Places Service ואת המרת כתובות לקואורדינטות (geocoding) לאפליקציות SDK של מפות ל-Android, אפשר להשתמש באחת מהשיטות הבאות:
- Places SDK ל-Android היא ספריית Android שמכילה שיטות להחזרת מידע על מקומות.
- Places API מחזיר מידע על מקומות באמצעות בקשות HTTP.
- המחלקות של Geocoder יכולות לבצע קידוד גיאוגרפי וקידוד גיאוגרפי הפוך באופן דינמי מקלט של משתמש.
- Geocoding API מאפשר לכם להמיר לקואורדינטות כתובות סטטיות ידועות.
שימוש בשירות המקומות
שימוש בחיפוש טקסט (חדש) כדי למצוא מזהה מקום
אתם יכולים להשתמש ב-חיפוש טקסט (חדש) API בארכיטקטורת REST ב-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 Autocomplete ב-Places SDK ל-Android מספק דרך נוחה לאפשר למשתמשים לחפש אזורים. כדי להגדיר את שירות השלמת המקומות כך שיחזיר רק אזורים, צריך להשתמש ב-AutocompleteSupportFragment.setTypesFilter(List) כדי להגדיר את מסנן הסוג ל-PlaceTypes.REGIONS.
קבלת פרטים על מקום באזור מסוים
שירות Place Details ב-Places SDK ל-Android מחזיר נתונים לגבי אזור מסוים, ויכול להיות שימושי מאוד. לדוגמה, אתם יכולים:
- חיפוש מזהי מקומות של גבולות על סמך שמות מקומות.
- קבלת אזור התצוגה כדי להתקרב לגבול.
- מקבלים את סוג המאפיין של הגבול (לדוגמה
locality). - מקבלים את הכתובת המעוצבת, שמופיעה בתבנית 'שם המקום, מדינה, מדינה' באזור ארצות הברית (לדוגמה, 'Ottumwa, IA, USA').
- לקבל נתונים שימושיים אחרים, כמו תמונות.
שימוש ב-Geocoding API
Geocoding API מאפשר להמיר כתובת לקואורדינטות של קווי רוחב ואורך ולמזהה מקום, או להמיר קואורדינטות של קווי רוחב ואורך או מזהה מקום לכתובת. השימושים הבאים מתאימים לשילוב עם סגנון מבוסס-נתונים לגבולות:
- אפשר להשתמש בגיאו-קידוד כדי לקבל את אזור התצוגה של אזור מסוים.
- אפשר להחיל סינון רכיבים על קריאה לגיאו-קידוד כדי לקבל את מזהי המקומות של אזורים אדמיניסטרטיביים ברמה 1 עד 4, של יישוב או של מיקוד.
- אפשר להשתמש בגיאו-קידוד הפוך כדי למצוא מזהי מקומות לפי קואורדינטות של קווי רוחב ואורך, או אפילו להחזיר מזהי מקומות לכל הרכיבים במיקום מסוים.
בדוגמה הבאה נעשה שימוש בכתובת (עם קידוד תווים שמתאים לכתובות URL) כדי לשלוח בקשה אל Geocoding API:
https://maps.googleapis.com/maps/api/geocode/json?address=1600%20Amphitheatre%20Pkwy%20Mountain%20View%20CA&key=YOUR_API_KEYאפשר להשתמש בהמרת קואורדינטות לכתובות (reverse geocoding) כדי למצוא מזהי מקומות. בדוגמה הבאה, פונקציית השירות Geocoding מחזירה את מזהי המקומות של כל רכיבי הכתובת בקואורדינטות של קו הרוחב וקו האורך שצוינו:
https://maps.googleapis.com/maps/api/geocode/json?latlng=41.864182,-87.676930&key=YOUR_API_KEYאפשר להשתמש בהמרת קואורדינטות לכתובות (reverse geocoding) עם סינון רכיבים כדי לקבל את רכיב הכתובת של אחד או יותר מהסוגים הבאים במיקום שצוין:
administrativeAreacountrylocalitypostalCode
בדוגמה הבאה של פונקציה מוצג שימוש בשירות המרת כתובות לקואורדינטות (geocoding), הוספה של הגבלות על רכיבים באמצעות המרת קואורדינטות לכתובות (reverse geocoding) כדי לקבל את כל רכיבי הכתובת במיקום שצוין רק עבור הסוג locality:
https://maps.googleapis.com/maps/api/geocode/json?latlng=41.864182,-87.676930&result_type=locality&key=YOUR_API_KEY