İşletmeler ve Diğer Önemli Noktalar

Platform seçin: Android iOS JavaScript

Varsayılan olarak ilgi alanları (İA), temel haritada ilgili simgeleriyle birlikte görünür. Önemli yerler arasında parklar, okullar, devlet binaları ve daha fazlası yer alır.

Ayrıca, harita türü normal olduğunda işletme ÖY'leri haritada varsayılan olarak görünür. İşletme ÖY'leri; mağazalar, restoranlar ve oteller gibi işletmeleri temsil eder. Kapalı alan haritalarındaki (kat planları) işletme ÖY'leri yalnızca basit mod haritada görünür.

Öİ, Android için Yerler SDK'sında tanımlandığı şekilde bir yer kimliğine karşılık gelir. Örneğin, rekreasyon parkları ÖY'dir ancak su çeşmeleri gibi şeyler genellikle ÖY değildir (ulusal veya tarihi öneme sahip olmadıkları sürece).

Öİ'lerdeki tıklama etkinliklerini dinleme

Bir kullanıcının ÖY'ye dokunmasına 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();
    }
}

      

Öİ'ler varsayılan olarak haritada görünür ancak varsayılan bir tıklama kullanıcı arayüzü yoktur. Yani kullanıcı bir ÖN'ye dokunduğunda API otomatik olarak bir 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 işaretini ayarlarsınız. Kullanıcı bir ÖY'yi tıkladığında (dokunduğunda) uygulamanız, kullanıcının tıkladığı ilgi alanını (ÖY) belirten bir OnPoiClick(PointOfInterest) etkinliği alır. PointOfInterest, enlem/boylam koordinatlarını, yer kimliğini ve önemli yerin adını içerir.

Önemli yerlerin haritada gösterilmesini durdurma

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

Aşağıdaki JSON stil bildirimi, haritadaki tüm işletme ÖY'lerini gizler:

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

Başka bir örnek olarak, aşağıdaki JSON, tüm ÖY kategorilerinin gösterimini basitleştirir:

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

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