Firmy i inne ciekawe miejsca

Wybierz platformę: Android iOS JavaScript

Domyślnie na mapie podstawowej wyświetlają się ważne miejsca (POI) wraz z odpowiadającymi im ikonami. Do ważnych miejsc zaliczają się m.in. parki, szkoły i budynki rządowe.

Dodatkowo, gdy typ mapy to normal, domyślnie wyświetlają się na niej firmy. Firmy to m.in. sklepy, restauracje i hotele. Firmy na mapach obiektów (planach pięter) wyświetlają się tylko w wersji uproszczonej.

Ważne miejsce odpowiada identyfikatorowi miejsca Place ID zdefiniowanemu w pakiecie SDK Miejsc na Androida. Na przykład parki rekreacyjne są ważnymi miejscami, ale fontanny zwykle nie (chyba że mają znaczenie historyczne lub narodowe).

Nasłuchiwanie zdarzeń kliknięcia ważnych miejsc

Jeśli chcesz reagować, gdy użytkownik kliknie ważne miejsce, możesz użyć metody OnPoiClickListener, jak pokazano w tym przykładzie kodu:

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();
    }
});

      

Ważne miejsca wyświetlają się na mapie domyślnie, ale nie ma domyślnego interfejsu po kliknięciu. Oznacza to, że gdy użytkownik kliknie ważne miejsce, interfejs API nie wyświetli automatycznie okna informacyjnego ani żadnego innego interfejsu.

Jak widać w powyższym przykładzie, metodę OnPoiClickListener ustawiasz na mapie, wywołując calling GoogleMap.setOnPoiClickListener(OnPoiClickListener). Gdy użytkownik kliknie ważne miejsce, Twoja aplikacja otrzyma zdarzenie OnPoiClick(PointOfInterest) wskazujące kliknięte ważne miejsce. Obiekt PointOfInterest zawiera współrzędne geograficzne, identyfikator miejsca i nazwę ważnego miejsca.

Wyłączanie wyświetlania ważnych miejsc na mapie

Możesz ukryć ważne miejsca, stosując niestandardowe style do wszystkich ważnych miejsc lub do określonych kategorii ważnych miejsc.

Ta deklaracja stylu JSON ukrywa wszystkie firmy na mapie:

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

Inny przykład: ten kod JSON upraszcza wyświetlanie wszystkich kategorii ważnych miejsc:

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

Kod w języku Java i inne szczegóły znajdziesz w przewodniku Ukrywanie elementów mapy za pomocą stylów.