כברירת מחדל, נקודות עניין מופיעות במפה הבסיסית יחד עם הסמלים המתאימים שלהן. נקודות עניין כוללות פארקים, בתי ספר, מבני ממשלה ועוד.
בנוסף, נקודות עניין של עסקים מופיעות כברירת מחדל במפה כשסוג המפה הוא normal. נקודות עניין של עסקים מייצגות עסקים כמו חנויות, מסעדות, מלונות ועוד. נקודות עניין של עסקים במפות פנימיות (תוכניות קומה) מופיעות רק במפה במצב בסיסי.
נקודת עניין תואמת למזהה מקום, כפי שמוגדר ב-Places SDK ל-Android. לדוגמה, פארקים הם נקודות עניין, אבל דברים כמו מזרקות מים הם בדרך כלל לא נקודות עניין (אלא אם יש להם חשיבות לאומית או היסטורית).
האזנה לאירועים מסוג קליק על נקודות עניין
אם רוצים להגיב למשתמש שמקיש על נקודת עניין, אפשר להשתמש ב-OnPoiClickListener, כמו שמוצג בדוגמת הקוד הבאה:
Kotlin
map.setOnPoiClickListener { poi -> Toast.makeText( context, """Clicked: ${poi.name} Place ID:${poi.placeId} Latitude:${poi.latLng.latitude} Longitude:${poi.latLng.longitude}""", Toast.LENGTH_SHORT, ).show() }
Java
map.setOnPoiClickListener( new GoogleMap.OnPoiClickListener() { @Override public void onPoiClick(PointOfInterest poi) { Toast.makeText( context, "Clicked: " + poi.name + "\nPlace ID:" + poi.placeId + "\nLatitude:" + poi.latLng.latitude + " Longitude:" + poi.latLng.longitude, Toast.LENGTH_SHORT) .show(); } });
נקודות העניין מופיעות במפה כברירת מחדל, אבל אין ממשק משתמש שמוגדר כברירת מחדל כשלוחצים עליהן. כלומר, ה-API לא מציג באופן אוטומטי חלון מידע או כל ממשק משתמש אחר כשהמשתמש מקיש על נקודת עניין.
כמו שמוצג בדוגמה שלמעלה, מגדירים את OnPoiClickListener במפה באמצעות קריאה ל-GoogleMap.setOnPoiClickListener(OnPoiClickListener).
כשמשתמש לוחץ (מקיש) על נקודת עניין, האפליקציה מקבלת אירוע OnPoiClick(PointOfInterest) שמציין את נקודת העניין שהמשתמש לחץ עליה. השדה PointOfInterest מכיל את הקואורדינטות של קו הרוחב/קו האורך, מזהה המקום והשם של נקודת העניין.
איך להפסיק את הצגת נקודות העניין במפה
אפשר להסתיר נקודות עניין (POI) על ידי החלת סגנונות מותאמים אישית על כל נקודות העניין או על קטגוריות ספציפיות של נקודות עניין.
הצהרת הסגנון הבאה ב-JSON מסתירה את כל נקודות העניין של העסקים במפה:
[
{
"featureType": "poi.business",
"stylers": [
{ "visibility": "off" }
]
}
]
דוגמה נוספת: קובץ ה-JSON הבא מפשט את התצוגה של כל הקטגוריות של נקודות העניין:
[
{
"featureType": "poi",
"stylers": [
{ "visibility": "simplified" }
]
}
]
לקוד Java ולפרטים נוספים, עיינו במדריך בנושא הסתרת מאפייני מפה באמצעות עיצוב.