אתם יכולים להשתמש ב-Places Service וב-Geocoding API עם Maps SDK ל-Android כדי לחפש אזורים ולקבל מידע נוסף על מקומות. השירות Places API ו-Geocoding API הם חלופות יציבות ומתקדמות לקבלת מזהי מקומות. אם אתם כבר משתמשים במזהי מקומות, אתם יכולים להשתמש בהם שוב עם סגנון מבוסס-נתונים לגבולות.
כדי להוסיף את Places Service ואת Geocoding ל-Maps SDK לאפליקציות ל-Android, אפשר להשתמש באחת מהשיטות הבאות:
- Places SDK ל-Android היא ספריית Android שמכילה שיטות להחזרת מידע על מקומות.
- Places API מחזיר מידע על מקומות באמצעות בקשות HTTP.
- המחלקות Geocoder יכולות לבצע המרה של קואורדינטות לכתובות (reverse geocoding) ולקודד מיקומים גיאוגרפיים באופן דינמי על סמך קלט משתמש.
- Geocoding API מאפשר לכם לקודד כתובות סטטיות ומוכרות.
שימוש בשירות המקומות
איך משתמשים בחיפוש טקסט (חדש) כדי למצוא מזהה מקום
אפשר להשתמש ב-Text Search (New) REST API ב-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 כדי לקבל את מזהי המקומות של אזורים אדמיניסטרטיביים 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