Varsayılan olarak, önemli yerler (ÖY'ler) temel harita üzerinde karşılık gelen simgeleriyle birlikte görünür. Önemli yerler arasında parklar, okullar, hükümet binaları ve daha fazlası yer alır.
Ayrıca, harita türü normal
olduğunda işletme ÖY'leri harita üzerinde varsayılan olarak görünür. İş ÖY'leri mağazalar, restoranlar, oteller ve daha fazlası gibi işletmeleri temsil eder. İç mekan haritalarında (kat planları) bulunan 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 Yer Kimliğine karşılık gelir. Örneğin, eğlence parkları ÖY'lerdir ancak su çeşmeleri gibi yerler (ulusal veya tarihsel önem taşımadıkları 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:
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 tıklama arayüzü yoktur. Yani 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
özelliğini ayarlarsınız.
Kullanıcı bir ÖY'yi tıkladığında (dokunduğunda) uygulamanız, kullanıcının tıkladığı önemli noktayı 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 durdurun
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 kategorilerini daha basit bir şekilde gösterir:
[
{
"featureType": "poi",
"stylers": [
{ "visibility": "simplified" }
]
}
]
Java kodu ve diğer ayrıntılar için stil içeren harita özelliklerini gizleme kılavuzuna bakın.