2 Stimmen

Versuchen Sie, eine gepostete php-Variable in eine Javascript-Variable zu setzen, so kann Plot auf googlemap

Hallo Ich habe zwei Werte für Latitute und Longitute auf eine PHP-Seite mit einem Formular gebucht, dann auf der PHP-Seite bin ich eine GoogleMap anzeigen und möchten die beiden Werte verwenden, die ich als die Latitude und Longitute auf der Karte zu plotten gebucht. Ich denke, dass ich alles richtig gemacht habe, aber es scheint die Werte nicht zu übernehmen. irgendwelche Ideen? danke!

<script type="text/javascript">

function initialize() {

var lat= "<?php echo $_POST['coordinates']; ?>";
var long= "<?php echo $_POST['coordinatestwo']; ?>";

var latlng = new google.maps.LatLng(lat,long);
var myOptions = {
  zoom: 8,
  center: latlng,
  mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map_canvas"),
    myOptions);

    var marker = new google.maps.Marker({
                position: latlng,
                map: map,
                title: "Your current location!"
        });

        }

   </script>

   </head>
   <body onLoad="initialize();">

1voto

RDL Punkte 7707

long ist ein reserviertes Wort in JavaScript. Versuchen Sie lng (ohne 'o') als Variablennamen zu verwenden.

var lng= "<?php echo $_POST['coordinatestwo']; ?>";

Si vous view source in Ihrem Browser, sehen Sie dort die php-Werte? Wenn nicht, dann stimmt etwas mit Ihrem Formular nicht. Wir müssten mehr Code sehen.

Aber die Chancen stehen gut, dass es sich um die long wobei es sich um ein reserviertes Wort handelt, das ich oben erwähnt habe.

0voto

Czechnology Punkte 14693

Verwenden Sie nicht long als Variablenname (es ist ein reserviertes Wort ). Außerdem brauchen Sie keine Anführungszeichen bei numerischen Werten. Versuchen Sie dies:

var lat = <?php echo floatval($_POST['coordinates']); ?>;
var lng = <?php echo floatval($_POST['coordinatestwo']); ?>;

EDITAR : Tipp - wenn Sie einen (guten) Editor mit farblicher Hervorhebung und Syntaxprüfung für JavaScript verwenden, wird dieser Fehler hervorgehoben (mein Bericht): " Strikte Warnung: long ist ein Bezeichner für einen Server ").

0voto

rcravens Punkte 8206

Ich habe hier ein funktionierendes jsFiddle:

http://jsfiddle.net/rcravens/RFHKd/

Hauptsächlich Ihr Code. Ich habe das Folgende hinzugefügt:

  1. Ein 'div' mit einer ID von map_canvas
  2. Ein Stil für dieses Div, der ihm Breite und Höhe verleiht.
  3. Das Skript zum Laden von Google Maps wurde hinzugefügt.

Ich hoffe, das hilft.

Bob

0voto

stealthyninja Punkte 10225

@paul elliot: Das sieht nicht nach deinem ganzen Code aus ? Sehen Sie sich dieses Beispiel an, um die fehlenden Teile Ihres Codes zu ergänzen: http://code.google.com/apis/maps/documentation/javascript/examples/map-simple.html

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X