Firmy i inne ciekawe miejsca

Wybierz platformę: Android iOS JavaScript

Domyślnie ciekawe miejsca (POI) są wyświetlane na mapie podstawowej wraz z ich odpowiadające im ikony. Ciekawe miejsca to między innymi parki, szkoły, budynki rządowe i innych.

Dodatkowo miejsca firmowe domyślnie wyświetlają się na mapie, jeśli jej typ to normal Ciekawe miejsca firmowe to firmy, takie jak sklepy, restauracje, hotele, i inne. Ciekawe miejsca firmowe na mapach obiektów (planach pięter) są wyświetlane tylko na mapę w trybie uproszczonym.

Ciekawe miejsce odpowiada identyfikatorowi miejsca zdefiniowanym w Pakiet SDK Miejsc na Androida Na przykład parki rozrywki to ważne miejsca, ale takie jak fontanny wodne na ogół nie są ważnym miejscem (chyba że są to obiekty krajowe, czy znaczenia historycznego).

Nasłuchiwanie zdarzeń kliknięcia w ważnych miejscach

Jeśli chcesz odpowiedzieć użytkownikowi klikającemu ważne miejsce, możesz użyć przycisku OnPoiClickListener jak w tym kodzie przykład:

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

      

Ciekawe miejsca są domyślnie wyświetlane na mapie, ale nie ma żadnego domyślnego interfejsu uruchamianego po kliknięciu. To znaczy, interfejs API nie wyświetla automatycznie okna informacyjnego ani żadnego innego użytkownika po kliknięciu ciekawego miejsca.

Jak widać w przykładzie powyżej, OnPoiClickListener na mapie o połączenia GoogleMap.setOnPoiClickListener(OnPoiClickListener) Gdy użytkownik kliknie ważne miejsce, aplikacja otrzyma OnPoiClick(PointOfInterest) zdarzenie wskazujący ciekawe miejsce (POI), które kliknął użytkownik. PointOfInterest zawiera współrzędne szerokości i długości geograficznej, identyfikator i nazwa ciekawego miejsca.

Wyłączanie wyświetlania ciekawych miejsc na mapie

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

Poniższa deklaracja stylu JSON ukrywa wszystkie ważne miejsca związane z firmą na mapie:

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

Inny przykład to następujący kod JSON, który upraszcza wyświetlanie wszystkich kategorii. ciekawych miejsc:

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

Więcej informacji o kodzie Java i innych znajdziesz w przewodniku ukrywanie elementów mapy za pomocą stylu.