2016-04-03 10 views
0

Ich versuche dynamisch Anhefs, die, wenn angeklickt, schwenken Sie eine Google-Karte auf gegebene Koordinaten. Der folgende Code erstellt erfolgreich href-Links, die die Karte verschieben. Dabei wird jedoch weiterhin der Ort des zuletzt erstellten Kreises angezeigt.Dynamisch erstellen hrefs, die auf einzigartige Google Map latLng in asynch Funktion schwenken

Ich fügte die Schließung panToCircle, in der Hoffnung, dass die aktuellen Koordinaten innerhalb der eingeschlossenen IIFE erhalten würde, aber kein solches Glück. Was denkst du, ist meine beste Strategie, hier? Danke vielmals!

Hinweis: Dies wird durch einen asynchronen Rückruf verursacht, der den Kreis jedes Mal erstellt, wenn eine Antwort vom Server kommt.

var text = 'Hello World!'; 
// Hoisting the panToCircle up here, as Chrome was giving me undefined ref errors when initializing it in linkToCircle. 
var panToCircle = function(){}; 
var rgb = [100,100,100]; 
createCircle(); 

function createCircle(){ 
    var color = 'RGB(' + rgb.toString() + ')';      
    var myCircle = initCircle(); 
    linkToCircle(); 

    function linkToCircle(){ 
     var a = document.createElement('a'); 
     a.innerHTML = text + "<br><br>"; 
     a.style.color = color; 

     panToCircle = function(){ 
      // Defining center in here, as putting a center in as an argument to the href function reclasses the center as a string, not a latLng 
      var center = myCircle.getCenter(); 
      (function panNow(cen){ 
       map.panTo(cen); 
      })(center); 
     } 

     a.href = 'javascript:panToCircle();' 
     document.getElementById('text-div').appendChild(a); 
     } 
} 

Antwort

0

Cool, eine wirklich einfache Reparatur funktionierte, musste nur einen Schritt zurücktreten und andere Optionen in Betracht ziehen. Ich formatierte eine Zeichenfolge aus den aktuellen Koordinaten und verkettete sie in den href-Wert.

Bitte zögern Sie mit einer Erklärung zu beantworten, warum meine Schließung Versuch fehlgeschlagen oben. Schließungen sind neu für mich (ich bin neu bei js im Allgemeinen), würde gerne mehr erfahren. Wird eine Antwort akzeptieren, die das Abschlusselement zum ersten Beitrag erklärt. Vielen Dank!