2012-04-26 14 views
21

पर एक खुले प्रोजेक्ट पर काम कर रहा है जहां मैं Google मानचित्र एपीआई-वी 3, का उपयोग कर रहा हूं, मानचित्र पर कुछ जगह मार्कर होंगे जिसमें मैं संग्रहीत कर रहा हूं InfoWindow।Google नक्शे-एपीआई v3 InfoWindow स्वचालित रूप से पेज लोड

मुझे आश्चर्य है कि आप पेज लोड पर स्वचालित रूप से खोलने के लिए InfoWindow सेट कर सकते हैं (यानी उपयोगकर्ता इंटरैक्शन के बिना स्वचालित रूप से खुलता है)।

ऑनलाइन खोजना मुझे लगता है कि यह एक ईवेंट श्रोता से बंधे जाने की आवश्यकता है, लेकिन सभी घटनाओं को InfoWindow ऑब्जेक्ट में माउस ईवेंट होते हैं।

क्या किसी को भी तरह के कामकाज के बारे में पता है?

उत्तर

26

सुनिश्चित नहीं हैं कि मैं पूरी तरह से अपने प्रश्न को समझने, लेकिन यह एक हार्ड-कोडेड LatLng साथ मेरे लिए काम करता है:

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

बहुत बहुत शुक्रिया, कि मैं वास्तव में क्या ढूंढ रहा था !! – scrineym

+0

जानकारी विंडो बिल्कुल मेरे मार्कर पर गिरती है। क्या मार्कर के ऊपर जानकारी विंडो रखने के लिए देशांतर अंतर की गणना करने का कोई तरीका है? – user3411192

11

मैं इस सवाल के लिए बहुत देर हो चुकी हूँ, लेकिन मैं कुछ साझा करना चाहते थे भी इसके समाधान के लिए खोज की और यहां तक ​​कि उपरोक्त समाधान से काम नहीं किया। तब मैंने खुद की कोशिश की और मेरा अपना समाधान मिला (मैं विशेषज्ञ नहीं हूं और मेरा विचार अच्छा नहीं हो सकता है लेकिन मेरे लिए ठीक काम कर रहा है)। हम आम तौर पर कर की तरह

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)); 

साथ ऊपर लाइनों की जगह:

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

न मार्कर के क्लिक करें घटना सामान्य रूप से सामग्री सेट के लिए इंतजार और इसे खोलने (आप नक्शे और मार्कर और infowindow को परिभाषित करना होगा आपके मार्कर को इंगित करता है)।

+0

@ रोका .. धन्यवाद .. यह मेरे द्वारा काम करता है :) – AnNaMaLaI

+0

सरल समाधान, इसे मार्कर क्लिक के बाहर कॉल करें .. धन्यवाद रोका –

3

बस infowindow.open (मानचित्र, मार्कर) ले लो; google.maps.event.addListener से बाहर। यह इस तरह दिखना चाहिए:

 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

यहां मेरा कोड है जो मानचित्र के साथ और माउस के साथ जानकारी विंडो लोड करता है।

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

यह बेहतर होगा अगर आप समझें कि आपका कोड क्यों काम करेगा। –

संबंधित मुद्दे