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