עסקים ונקודות עניין אחרות

בחירת פלטפורמה: Android iOS JavaScript

כברירת מחדל, נקודות עניין (POI) מופיעות במפה הבסיסית עם הסמלים התואמים שלהן. נקודות עניין כוללות פארקים, בתי ספר, מבני ממשל ועוד.

בנוסף, נקודות עניין עסקיות מופיעות כברירת מחדל במפה כשסוג המפה הוא normal. נקודות עניין של עסקים מייצגות עסקים כמו חנויות, מסעדות, מלונות ועוד. נקודות עניין של עסקים במפות פנים (תוכניות קומה) מופיעות רק במפה במצב בסיסי.

נקודת עניין תואמת למזהה מקום, כפי שמוגדר ב-Places SDK ל-Android. לדוגמה, פארקים לפעילויות פנאי הם אטרקציות, אבל דברים כמו מזרקות מים בדרך כלל לא נחשבים כנקודות עניין (אלא אם יש להם חשיבות לאומית או היסטורית).

האזנה לאירועים מסוג קליק באתרים מעניינים

אם אתם רוצים להגיב למשתמש שמקיש על נקודת עניין, תוכלו להשתמש ב-OnPoiClickListener כמו בדוגמה הבאה של הקוד:

Kotlin



internal class OnPoiClickDemoActivity : AppCompatActivity(), OnMapReadyCallback, OnPoiClickListener {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.poi_click_demo)
        val mapFragment = supportFragmentManager.findFragmentById(R.id.map)
                as SupportMapFragment
        mapFragment.getMapAsync(this)
    }

    override fun onMapReady(map: GoogleMap) {
        map.setOnPoiClickListener(this)
    }

    override fun onPoiClick(poi: PointOfInterest) {
        Toast.makeText(this, """Clicked: ${poi.name}
            Place ID:${poi.placeId}
            Latitude:${poi.latLng.latitude} Longitude:${poi.latLng.longitude}""",
            Toast.LENGTH_SHORT
        ).show()
    }
}

      

Java


class OnPoiClickDemoActivity extends AppCompatActivity implements
    OnMapReadyCallback, GoogleMap.OnPoiClickListener {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.poi_click_demo);
        SupportMapFragment mapFragment;
        mapFragment = (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map);
        mapFragment.getMapAsync(this);
    }

    @Override
    public void onMapReady(GoogleMap map) {
        map.setOnPoiClickListener(this);
    }

    @Override
    public void onPoiClick(PointOfInterest poi) {
        Toast.makeText(this, "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) שמציין את נקודת העניין (POI) שעליה הוא לחץ. הסמל PointOfInterest מכיל את הקואורדינטות של קווי האורך והרוחב, את מזהה המקום ואת השם של נקודת העניין.

הפסקת ההצגה של אתרים מעניינים במפה

ניתן לך להסתיר נקודות עניין (POI) על ידי החלת סגנונות מותאמים אישית על כל נקודות העניין או על קטגוריות ספציפיות של נקודות עניין.

הצהרת סגנון ה-JSON הבאה מסתירה את כל נקודות העניין של העסק במפה:

[
  {
    "featureType": "poi.business",
    "stylers": [
      { "visibility": "off" }
    ]
  }
]

דוגמה נוספת: קובץ ה-JSON הבא מפשט את התצוגה של כל הקטגוריות של נקודות העניין:

[
  {
    "featureType": "poi",
    "stylers": [
      { "visibility": "simplified" }
    ]
  }
]

למידע על קוד Java ופרטים נוספים, קראו את המדריך להסתרת תכונות של המפה באמצעות סגנון.