2012-04-26 21 views
21

Google Maps'i kullanıyorum bir proje üzerinde çalışıyorum api-v3, Haritada sakladığım bilgileri içeren birkaç yer işareti olacak. infowindow.Google maps-api v3 InfoWindow otomatik olarak yola yükleme yapıyor

Artık bir InfoWindow'u sayfa yükünü otomatik olarak açacak şekilde ayarlayabileceğinizi merak ediyorum (örn. Kullanıcı etkileşimi olmadan otomatik olarak açılır).

Tüm bulabildiğim bir şey bulmak, bir olay dinleyicisine bağlı olması gerektiğidir, ancak InfoWindow nesnesinin sahip olduğu tüm olaylar fare olaylarıdır.

Herkes bir çözümden haberi var mı?

cevap

26

ben tam sorunuzu anlamak emin ama bu kodlanmış LatLng ile benim için çalışıyor değil: aynı zamanda çözüm arandı

var infoWindow = null; 
function initialize() 
{ 
    infoWindow = new google.maps.InfoWindow(); 
    var windowLatLng = new google.maps.LatLng(43.25,-68.03); 
    infoWindow.setOptions({ 
     content: "<div>This is the html content.</div>", 
     position: windowLatLng, 
    }); 
    infoWindow.open(map); 
} // end initialize 

google.setOnLoadCallback(initialize); 
+0

o benim aradığım tam olarak ne oldu, Çok teşekkür ederim !! – scrineym

+0

Bilgi penceresi tam olarak işaretleyicimin üzerine düşer. Bilgi penceresini işaretçinin hemen üstüne yerleştirmek için boylam farkını hesaplamanın bir yolu var mı? – user3411192

11

çok geç bu soru için ama ben something.I paylaşmak istedim ve hatta yukarıdaki çözümden çalışmadı. Sonra kendimi denedim ve kendi çözümüm var (uzman değilim ve benim fikrim iyi olmayabilir ama benim için iyi çalışıyor olabilir).

var infowindow = new google.maps.InfoWindow(); 
google.maps.event.addListener(marker, 'click', (function(marker) { 
return function() { 
    infowindow.setContent('some content here'); 
     infowindow.open(map, marker); 
    } 
})(marker)); 

ile yukarıdaki satırların yerine gibi genellikle yapın:

var infowindow = new google.maps.InfoWindow(); 
infowindow.setContent('some content here'); 
infowindow.open(map, marker); 

basitçe içerik set işaretleyici click olayı beklemek ve açmak do not (haritayı ve işaretleyici ve InfoWindow tanımlamalıdır işaretçinize işaret eder.

+0

@Roka .. Teşekkür ederim .. Benden çalışıyor :) – AnNaMaLaI

+0

En basit çözüm, işaretleyici dışında arama yapınız .. Teşekkür ederiz Roka –

3

Sadece infowindow.open'i kullanın (harita, işaretleyici); google.maps.event.addListener dışında. Şöyle görünmelidir:

 var marker = new google.maps.Marker({ 
     position: myLatlng1, 
     map: map, 
     title: 'Uluru (Ayers Rock)' 

    }); 

    infowindow.open(map,marker); 

    google.maps.event.addListener(marker, 'click', function() { 
    }); 
1

İşte bilgi penceresini harita ile yükleyen ve ayrıca fare ile olan kodum.

map.setCenter(results[0].geometry.location); 
var marker = new google.maps.Marker({ 
    map: map, 
    icon: "/images/map-marker.png", 
    draggable: true, 
    position: results[0].geometry.location 

}); 
var infowindow = new google.maps.InfoWindow({ 
    content: "Use pin to point your exact locality" 
}); 
google.maps.event.addListener(marker, 'mouseover', function() { 
    infowindow.open(map, marker); 
}); 
infowindow.open(map, marker); 
0

function initMap() { 
 
    var cairo = {lat:18.519331, lng: 73.849421}; 
 
    var map = new google.maps.Map(document.getElementById('map'), { 
 
     scaleControl: true, 
 
     center: cairo, 
 
     zoom: 15, 
 
    }); 
 

 
    var infowindow = new google.maps.InfoWindow; 
 
    infowindow.setContent('<b>adddress</b>'); 
 

 
    var marker = new google.maps.Marker({map: map, position: cairo}); 
 
    infowindow.open(map, marker); 
 
    infoWindow.open(map); 
 
}
<script async defer 
 
    src="https://maps.googleapis.com/maps/api/js?key=AIzaSyCrCByzXY6y5KMSOi9AuqWVf4VYZPyJ5SE&language=hi&region=EG&callback=initMap"> 
 
</script> 
 
<div id="map"></div>

+0

Kodunuzun neden işe yaradığını açıklarsanız daha iyi olur. –

İlgili konular