Android için bir Google Haritalar ile bir uygulama yapıyorum. Ekranımda çok sayıda Marker var ve tıklandıklarında her işaretleyici için özelleştirilebilir balon hazırlıyorum. Bu, tıklanan işaretçiye göre farklı olan bilgilerim var demektir.Android için Google Haritalar v2'de hangi Marker’ın tıklandığı nasıl bilinir?
İşaretin Görünümünün içeriklerini setInfoWindowAdapter ile ayarladıktan sonra getInfoContents yöntemini geçersiz kıldım.
Sorun şu şekildedir: Bu yöntem, Bilgi Penceresinin içeriğinin genel olarak uygulanmasıdır, ancak her bir işaretçi kendi bilgilerini göstermelidir. Yani, anlayabildiğim kadarıyla, veri yapılarımdan bilgi penceresine sunmak için gerekli bilgileri yüklemek için işaretleyicilerin hangi tıklatıldığı getInfoContents (Marker marker) üzerinde bir şekilde tespit etmek zorundayım. Soru şu: Tıklanan Marker'ın işaretçisinin neyi temsil ettiğini nasıl tanımlarım? Sadece bilgi penceresini göstermek için tetiklenen getInfoContents üzerindeki Marker nesnesine sahip olmak, görüntülenecek uygun bilginin hangisi olduğunu nasıl algılayabilirim? Dize Başlığı marker.getTitle() kullanarak karşılaştırmakla birlikte, ancak bu, istemediğim bilgi penceresindeki bir Başlığı göstermemi zorunlu kılıyor. Ayrıca bir marker.getId() vardır, ancak API tarafından bu tür bir kimlik oluşturulur ve bunu denetleyemiyorum
Herhangi bir fikir var mı? Eğer bunu kullanabilir ve sürece herhangi subview bir getInfoContents
itibaren View
değil setText
dönmek şekilde ayarlanmış halde olduğunda başlığını göstermek zorunda değildir
@Override
public void onInfoWindowClick(final Marker marker)
{
// TODO Auto-generated method stub
if (marker.getTitle().equalsIgnoreCase("Start")) {
Toast.makeText(showMaps.this, "You have click on start -->",
Toast.LENGTH_LONG).show();
Log.e("marker.getPosition()-->", "" + marker.getPosition());
}
}
.. 1 – Pihu