İlgi çekici yerler (ÖY), varsayılan olarak temel haritada ilgili simgeleriyle birlikte görünür. Önemli yerler arasında parklar, okullar, resmi binalar ve daha fazlası yer alır.
Ayrıca, harita türü normal
olduğunda iş Ö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.
ÖY, 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.