• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

[FRAGE] Erster Maps-Marker soll bouncen

Swiper

New member
Hallo zusammen,

seit einiger Zeit versuche in einer Google-Maps Karte den Marken hüpfen zu lassen. Das klappt auch mit folgendem Code.
Zur Erklärung: ich habe mir ein eigenes Latitude geschrieben (Latitude wurde vor ca 2 Jahren von Google abgestellt).
Funktioniert soweit auch alles nur mit dem JavaScript tue ich mich immer noch sehr schwer.
Ich lasse die letzten X Positionen mit Markern nachzeichnen. Den jeweils aktuellsten möchte ich gerne ein Bounce verpassen.
Leider bekomme ich es nur do hin das entweder keiner Bounct oder halt alle.

Hier der Code:
Code:
<script>
jQuery(function($) {
    // Asynchronously Load the map API 
    var script = document.createElement('script');
    script.src = "http://maps.googleapis.com/maps/api/js?sensor=false&callback=initialize";
    document.body.appendChild(script);
});

function initialize() {
    var map;
    var bounds = new google.maps.LatLngBounds();
    var mapOptions = {
        mapTypeId: '<? echo $ar_maptype[$maptype]; ?>'
    };
                    
    // Display a map on the page
    map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions);
    map.setTilt(45);
        
    // Multiple Markers
    var markers = [
<? 
while ($row = mysqli_fetch_object($query2)) { ?>
        ['<? echo $row->ort; ?>', <? echo $row->lat; ?>,<? echo $row->long; ?>],
<? } ?>
    ];
                        
    // Info Window Content
    var infoWindowContent = [
<? while ($row = mysqli_fetch_assoc($query3)) { ?>
        ['<div class="info_content"><h3><? echo $row['datum_formatiert']; ?>, <? echo $row['ort']; ?></h3></div>'],
<? } ?>
    ];
        
    // Display multiple markers on a map
    var infoWindow = new google.maps.InfoWindow(), marker, i;
    
    // Loop through our array of markers & place each one on the map  
    for( i = 0; i < markers.length; i++ ) {
        var position = new google.maps.LatLng(markers[i][1], markers[i][2]);
        bounds.extend(position);
        marker = new google.maps.Marker({
			position: position,
			animation:google.maps.Animation.BOUNCE,
			map: map,
			icon: 'car.png',
			title: markers[i][0]
        });
        // Allow each marker to have an info window    
        google.maps.event.addListener(marker, 'click', (function(marker, i) {
            return function() {
                infoWindow.setContent(infoWindowContent[i][0]);
                infoWindow.open(map, marker);
            }
        })(marker, i));

        // Automatically center the map fitting all markers on the screen
        map.fitBounds(bounds);
    }

    // Override our map zoom level once our fitBounds function runs (Make sure it only runs once)
    var boundsListener = google.maps.event.addListener((map), 'bounds_changed', function(event) {
        this.setZoom(<? echo $ar_zoom[$zoom]; ?>);
        google.maps.event.removeListener(boundsListener);
    });
    
}
</script>

Bekommt man es irgendwie hin, dass nur der ERSTE Bounct??
 
Du darfst hald einfach nur beim ersten die animate-Eigenschaft belegen:
Code:
animation: i === 0? google.maps.Animation.BOUNCE: null,
- ungetestet.

- - - Aktualisiert - - -

PS: JS und PHP zu mischen ist sowohl schlechter Stil als auch verwirrend und potentiell gefährlich.
 
Zurück
Oben