İşletmeler ve Diğer Önemli Yerler

Platform seçin: Android iOS JavaScript

Varsayılan olarak, önemli yerler (ÖY'ler) temel harita üzerinde karşılık gelen simgeleriyle birlikte görünür. ÖY'ler arasında parklar, okullar, devlet binaları ve daha pek çok yer bulunur.

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

Bir ÖY, Android için Yerler SDK'sında tanımlandığı üzere bir Yer Kimliği'ne karşılık gelir. Örneğin, eğlence parkları ÖY'lerdir ancak su çeşmeleri gibi şeyler (ulusal veya tarihi önemleri olmadığı sürece) genellikle ÖY değildir.

ÖY'lerdeki 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:

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

      

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

      

ÖY'ler varsayılan olarak haritada görünür, ancak varsayılan tıklama arayüzü yoktur. Diğer bir deyişle, kullanıcı bir ÖY'ye dokunduğunda API, otomatik olarak bir bilgi penceresi veya başka bir kullanıcı arayüzü görüntülemez.

Yukarıdaki örnekte gösterildiği gibi, GoogleMap.setOnPoiClickListener(OnPoiClickListener) yöntemini çağırarak haritada OnPoiClickListener'i 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 durdur

Tüm ÖY'lere veya belirli ÖY kategorilerine özel stiller uygulayarak önemli yerleri (ÖY) 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örüntülenmesini basitleştirir:

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

Java kodu ve diğer ayrıntılar için stil içeren harita özelliklerini gizleme kılavuzunu inceleyin.