Verschieben von Marker in der Google Maps API v3, ohne so viel Prozessorleistung beansprucht?

Ich versuche zu bewegen, einen marker auf eine GoogleMap zu simulieren Echtzeit-Objekt-Bewegungen. Derzeit werden die JavaScript-pseudo-code, wie ich das Tue, ist:

var marker = new google.maps.Marker({
    position: myLatlng, 
    map: map
});

var myMovementArray[] = new movementArray(startPoint, endPoint);

drawMovement(int pos){
    marker.setPosition(myMovementArray[pos]["lat"], myMovementArray[pos]["lng"]);
    pos++;
    if (pos < myMovementArray.length()){
        setTimeout('drawMovement('+pos+')', 33);
    }
}

init(){
    drawMovement(0);
}

Wo jedes element in der Bewegung array wird berechnet durch:

deltaLat = (endPos.lat - startPos.lat)/frames;
deltaLng = (endPos.lng - startPos.lng)/frames;
myMovementArray[i]["lat"] = startPos.lat + (deltaLat * i);
myMovementArray[i]["lng"] = startPos.lng + (deltaLng * i);

Referenz, der vollständige JavaScript-Datei, die ich verwende, ist bis auf:
http://spad.es/js/com.kamkash.locateme.viewer.dev.js

Das problem, das ich habe, ist, dass diese Methode zum verschieben der Marker auf Google maps zu sein scheint sehr Prozessor intensiv. Ich habe gesucht, um zu sehen, wenn die Google Maps API hat eine saubere Art und Weise zu animieren, marker-Bewegung von Punkt A zu Punkt B, kann aber nichts finden. Und die meisten anderen referenzierten Methode dafür, die ich gefunden habe, ist am Beispiel von http://www.geocodezip.com/v3_animate_marker_directions.html aber dann mit der gleichen Methode, die ich bereitgestellt haben.

Code verwendet wird, in der Praxis an:
www.spad.es/random

Hat jemand einen mehr-Prozessor-effiziente/Reiniger Weg, dies zu tun?

Dank

  • Ich habe auch gesehen, dieser Eintrag: stackoverflow.com/questions/665193/..., aber es gibt keine Antwort auf die Frage, ob es eine mehr-Prozessor-freundliche Ansatz. Das Beispiel des Autos mit Richtungen verwendet eine GIcon-das scheint weniger intensiv, aber dann bin ich nicht sicher, ob ich das anbringen kann eine Genauigkeit radius (google.maps.Circle-Objekt), um es
  • Google-Maps-API macht-Marker sehr viel effizienter, wenn Sie gesetzt sind, über KML-Datei. Nicht sicher, ob das verbessert die Leistung für das bewegen einer Markierung als gut, aber es scheint plausibel.
InformationsquelleAutor Kaiesh | 2011-03-12
Schreibe einen Kommentar