/ / Google मानचित्र infowindow आग दो बार घटना पर क्लिक करें - jquery, google-map-api-3, infowindow

Google मानचित्र infowindow आग दो बार ईवेंट पर क्लिक करें - jquery, google-maps-api-3, infowindow

मैं Google मैप API v.3 के साथ काम कर रहा हूं। मैं infowindow पर एक इमेज जोड़ रहा हूं और उस इमेज के क्लिक इवेंट को हैंडल करना चाहता हूं। लेकिन ईवेंट आग पर दो बार क्लिक करें। यहाँ मेरा कोड है-

var mapOptions = {center: new google.maps.LatLng(lat,lng), zoom: 15, mapTypeId:   google.maps.MapTypeId.ROADMAP};
var infoWindow = new google.maps.InfoWindow();
var map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions);
var myLatlng = new google.maps.LatLng(lat,lng);
var data = {}; data.title = "title"; data.lat = lat;data.lng = lng;
data.description = "<img class="test-image" src="/images/src"";
var marker = new google.maps.Marker({position: myLatlng, map: map,title: "title"});

(function (marker, data) {
google.maps.event.addListener(marker, "click", function (e) {
infoWindow.setContent(data.description);
infoWindow.open(map, marker);
});


google.maps.event.addDomListener(infoWindow, "domready", function () {
$(".test-image").click(function () {
alert("Hello World");
});
});
})(marker, data);

मैं इस समस्या से कैसे छुटकारा पा सकता हूं?

आपका धन्यवाद।

उत्तर:

उत्तर № 1 के लिए 1

मैं आपको इस व्यवहार का कारण नहीं बता सकता, लेकिन जब आप उपयोग करते हैं तो यह निश्चित हो सकता है addListenerOnce और लागू करें domreadyमें सूची clickमार्कर का -बैक:

(function (marker, data) {
google.maps.event.addListener(marker, "click", function (e) {
google.maps.event.addListenerOnce(infoWindow, "domready", function () {
$(".test-image").click(function () {
alert("Hello World");
});
});
infoWindow.setContent(data.description);
infoWindow.open(map,marker);
});
})(marker, data);

जवाब के लिए 0 № 2
google.maps.event.addListener(marker, "click", function() {
infoWindow.setContent(data.description);
infoWindow.open(map, marker);

$(".test-image").click(function() {
alert("Hello World");
});
});

ये मेरे लिए सही है।