Google Map API V3: İşaretçilere Özel veriler nasıl eklenir?


117

Daha sonra kullanmak için işaretçilerime bazı özel bilgiler eklememin bir yolu var mı? Bir bilgi penceresine ve bir başlığa sahip olmanın yolları vardır, ancak işaretçiyi diğer bilgilerle ilişkilendirmek istersem.

Sayfada işaretleyicilere bağlı olarak görüntülenen başka öğelerim var, bu nedenle bir işaretçi tıklandığında sayfadaki içeriğin hangi işaretçinin tıklandığına bağlı olarak değişmesi gerekiyor. tıklandı vb.

Teşekkürler

Yanıtlar:


214

Bir Google Marker bir JavaScript nesnesi olduğundan, forma özel bilgiler ekleyebilirsiniz key: value, burada anahtar geçerli bir dizedir. Nesne özellikleri olarak adlandırılırlar ve birçok farklı şekilde yaklaşılabilir. Değer, sayılar veya dizeler kadar basit ve ayrıca işlevler ve hatta başka nesneler kadar yasal herhangi bir şey olabilir. Üç basit yol: bildirimde, noktalı gösterimde ve köşeli parantezlerde

var markerA = new google.maps.Marker({
    map: map,
    position: new google.maps.LatLng(0, 0),
    customInfo: "Marker A"
});

var markerB = new google.maps.Marker({
    map: map,
    position: new google.maps.LatLng(-10, 0)
});
markerB.customInfo = "Marker B";

var markerC = new google.maps.Marker({
    map: map,
    position: new google.maps.LatLng(-20, 0)
});
markerC['customInfo'] = "Marker C";

Sonra da benzer şekilde geri almak için:

google.maps.event.addListener(markerA, 'click', function() {
    alert(this.customInfo);
});

3
Belgelerde bu modeli resmileştiren hiçbir şey yok . İşte daha sonraki bir sürümde kırmak yerine yapmalarını umuyoruz.
Adam

1
"CustomInfo" özelliği "Marker" türünde mevcut değil.
alehn96

1

14

İşaretçilere kendi özel özelliklerinizi ekleyebilirsiniz (sadece API'nin özellikleriyle çakışmamaya dikkat edin).

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.