Ich habe Markierungen auf einer Karte. Ich setze die Deckkraft des Markers abhängig vom Datum in JSON.Ändern der Google Maps Marker-Eigenschaft nach dem Klicken auf die Schaltfläche im Infofenster
Aus diesem Grund, wenn die Karte geladen wird, sind einige der Marker 0,5 Opazität, einige sind 1 Opazität.
Im Infofenster des Markers befindet sich eine Schaltfläche. Wenn ich auf diese Schaltfläche klicke, möchte ich die Deckkraft auf 1 setzen.
Unten finden Sie einige Code-Schnipsel, um Ihnen zu zeigen, wie ich es im Moment eingerichtet habe.
Jede Hilfe wäre viel
//For every item in JSON
$.each(dbJSON, function(key, data) {
var opacity = 1;
var today = new Date();
var fadeDate = new Date(data.last_rated); //get the date last rated
fadeDate.setDate(fadeDate.getDate() + 1); //and add 1 date to it to specify the day when the icon should fade
if(Date.parse(today) > Date.parse(fadeDate)) {
console.log('fade');
opacity = 0.5;
} else {
console.log('show');
opacity = 1;
}
var postal_town = data.location;
geocoder.geocode({ 'address': postal_town}, function(results, status) {
//...
console.log(opacity);
var marker = new google.maps.Marker({
map: map,
position: results[0].geometry.location,
title: data.manufacturer_name,
icon: image,
rating: data.rating,
opacity: opacity
});
markers[data.id] = marker;
marker.addListener('click', function() {
var contentString = '<div id="content">'+
'<h1>' + data.manufacturer_name + '</h1>' +
'<button id="seen-it" data-rating="' + data.rating + '" data-entry-id="' + data.id + '">Seen it</button>' +
'<p><strong>Rating: </strong><span id="rating">' + markers[data.id].rating + '</span></p>' +
'</div>';
infowindow.setContent(contentString);
infowindow.open(map, marker);
});
});
});
//Do something when the #seen-it button is clicked
$(document).on('click', '#seen-it', function(event){
//...
});
Das funktioniert und ich bin mir nicht ganz sicher, warum! :) Vielen Dank –
@OliverEvans lassen Sie mich wissen, welcher Teil verwirrt Sie und ich werde versuchen zu erklären. –
Vergiss es, ich verstehe es. Ich dachte, du änderst den Deckkraftwert für das Objekt und verpasst, dass du die setOpacity-Methode verwendest. Danke –