אתם יכולים להשתמש בשירות Places וב-Geocoding API עם Maps SDK ל-Android כדי לחפש אזורים ולקבל מידע נוסף על מקומות. שירות Places ו-Geocoding API הם חלופות חזקות ויציבות לקבלת מזהי מקומות. אם אתם כבר משתמשים במזהי מקומות, תוכלו לעשות שימוש חוזר במזהים האלה עם עיצוב מבוסס-נתונים של גבולות.
אפשר להוסיף את שירות Places ואת השירות להמרת כתובות ל-Maps SDK לאפליקציות ל-Android בדרכים הבאות:
- Places SDK ל-Android היא ספריית Android שמכילה שיטות להצגת מידע על מקומות.
- Places API מחזיר מידע על מקומות באמצעות בקשות HTTP.
- הקלאס Geocoder יכול לבצע המרה של כתובות לכתובות גיאוגרפיות (geocoding) ולהפך (reverse geocoding) באופן דינמי מהקלט של המשתמש.
- Geocoding API מאפשר להמיר כתובות סטטיות ידועות לקואורדינטות.
שימוש בשירות Places
שימוש בחיפוש טקסט (חדש) כדי למצוא מזהה מקום
כדי לקבל מזהה מקום שכולל נתוני אזור, אפשר להשתמש ב-API ל-REST של Text Search (New) ב-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 מאפשר למשתמשים לחפש אזורים בצורה נוחה. כדי להגדיר את שירות ההשלמה האוטומטית של מיקומים כך שיציג רק אזורים, משתמשים ב-AutocompleteSupportFragment.setTypesFilter(List)
כדי להגדיר את מסנן הסוג ל-PlaceTypes.REGIONS
.
אחזור פרטי מקום באזור
השירות פרטי מקום ב-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
אפשר להשתמש בגיאוקודינג הפוך כדי למצוא מזהי מקומות. בדוגמה הבאה, פונקציית השירות של שירותי הגיאוקוד מחזירה את מזהי המקומות של כל רכיבי הכתובת בקווי הרוחב והאורך שצוינו:
https://maps.googleapis.com/maps/api/geocode/json?latlng=41.864182,-87.676930&key=YOUR_API_KEY
משתמשים בגיאוקודינג הפוך עם סינון רכיבים כדי לקבל את רכיב הכתובת של אחד או יותר מהסוגים הבאים במיקום שצוין:
administrativeArea
country
locality
postalCode
בפונקציית הדוגמה הבאה מוצג שימוש בשירות הגיאוקודינג, הוספת הגבלות על רכיבים באמצעות גיאוקוד הפוך כדי לקבל את כל רכיבי הכתובת במיקום שצוין רק עבור הסוג locality
:
https://maps.googleapis.com/maps/api/geocode/json?latlng=41.864182,-87.676930&result_type=locality&key=YOUR_API_KEY