İşletmeler ve Diğer Önemli Noktalar

Platform seçin: Android iOS JavaScript

İlgi çekici yerler (ÖY), varsayılan olarak temel haritada ilgili simgeleriyle birlikte gösterilir. Önemli yerler arasında parklar, okullar, resmi binalar ve daha fazlası yer alır.

Ayrıca, harita türü normal olduğunda ÖY'leri varsayılan olarak haritada gösterilir. İşletme ÖY'leri; mağazalar, restoranlar, oteller ve daha fazlası gibi işletmeleri temsil eder. İç mekan haritalarındaki (zemin planları) iş amaçlı ÖY'ler yalnızca basit mod haritasında gösterilir.

Önemli Yer, Android için Yerler SDK'sında tanımlandığı şekilde bir Yer Kimliği'ne karşılık gelir. Örneğin, rekreasyon parkları ÖY'dür ancak çeşmeler gibi yerler genellikle ÖY değildir (ulusal veya tarihi öneme sahip olmadıkları sürece).

Önemli yerlerde tıklama etkinliklerini dinleme

Bir ÖY'ye dokunan kullanıcıya yanıt vermek istiyorsanız aşağıdaki kod örneğinde gösterildiği gibi bir OnPoiClickListener kullanabilirsiniz:

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

      

Önemli yerler varsayılan olarak haritada görünür ancak tıklandığında açılan varsayılan bir kullanıcı arayüzü yoktur. Yani API, kullanıcı bir ÖY'ye dokunduğunda otomatik olarak bilgi penceresi veya başka bir kullanıcı arayüzü göstermez.

Yukarıdaki örnekte gösterildiği gibi, GoogleMap.setOnPoiClickListener(OnPoiClickListener) işlevini çağırarak haritada OnPoiClickListener değerini ayarlarsınız. Kullanıcı bir ÖY'yi tıkladığında (dokunduğunda) uygulamanız, kullanıcının tıkladığı ÖY'yi belirten bir OnPoiClick(PointOfInterest) etkinliği alır. PointOfInterest, önemli yerin enlem/boylam koordinatlarını, yer kimliğini ve adını içerir.

Önemli yerleri haritada göstermeyi durdurma

Tüm önemli yerlere veya belirli önemli yer kategorilerine özel stiller uygulayarak önemli yerleri gizleyebilirsiniz.

Aşağıdaki JSON stili beyanı, haritada tüm işletme ÖY'lerini gizler:

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

Başka bir örnek olarak, aşağıdaki JSON, ÖY'lerin tüm kategorilerinin görüntülenmesini basitleştirir:

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

Java kodu ve diğer ayrıntılar için stil kullanarak harita özelliklerini gizleme kılavuzuna bakın.