İşletmeler ve Diğer Önemli Noktalar

Platform seçin: Android iOS JavaScript

Varsayılan olarak, önemli yerler (ÖY'ler) temel haritada karşılık gelen simgeleriyle birlikte görünür. ÖY'ler arasında parklar, okullar, hükümet binaları ve daha fazlası yer alır.

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

ÖY, Android için Yerler SDK'sında tanımlanan Yer Kimliği'ne karşılık gelir. Örneğin, eğlence parkları ÖY'dir ancak su çeşmeleri gibi yerler genellikle ÖY' değildir (ulusal veya tarihi öneme sahip olmadıkları sürece).

ÖY'lerdeki tıklama etkinliklerini dinle

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

      

ÖY'ler haritada varsayılan olarak görünür, ancak varsayılan bir tıklama kullanıcı arayüzü yoktur. Yani kullanıcı bir ÖY'ye dokunduğunda API, otomatik olarak bir bilgi penceresini veya başka bir kullanıcı arayüzünü göstermez.

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

ÖY'lerin haritada gösterilmesini durdurma

Tüm ÖY'lere veya belirli ÖY kategorilerine özel stiller uygulayarak önemli yerleri (ÖY) gizleyebilirsiniz.

Aşağıdaki JSON stil bildirimi, haritada işle ilgili tüm ÖY'leri gizler:

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

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

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

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