2017-09-18 2 views
-1

Ich bin ziemlich neue Google-APIs. Ich erstelle eine Anwendung, wo ich Adressen verwenden muss, die in einer Datenbank gespeichert werden, um eine Route zu einem Ereignis anzuzeigen. Ich habe eine Vorlage mir erlaubt, aber fand die Javascript-Variablen in dem Google Maps API manuell zu ändern, wenn ich versuche, einen PHP-Variable in der Funktion zu verwenden, wird es nicht die Karte laden. Ich habe es nicht zu meiner Datenbank noch verbunden, ich versuche es einfach mit PHP-Variablen arbeiten zu bekommenHinzufügen von PHP-Variablen in Javascript-Funktionen mithilfe von Google Directions API

nur gefragt, ob jemand mich in der richtigen Richtung zeigen könnte und helfen Sie mir.

<head> 
    <meta http-equiv="content-type" content="text/html; charset=UTF-8"/> 
    <title>Google Maps API v3 Directions Example</title> 
    <script type="text/javascript" 
      src="https://maps.googleapis.com/maps/api/js? 
key=MYKEYHERE&callback=initMap"></script></head> 

<?php 
$start = "Leeds"; 
$end = "Nottingham"; 
?> 

<body> 


    <div id="map"></div> 

    <div id="right-panel"></div> 


    <script type="text/javascript"> 

    var directionsService = new google.maps.DirectionsService(); 
    var directionsDisplay = new google.maps.DirectionsRenderer(); 

    var map = new google.maps.Map(document.getElementById('map'), { 
     zoom:7, 
     mapTypeId: google.maps.MapTypeId.ROADMAP 
    }); 

    directionsDisplay.setMap(map); 
    directionsDisplay.setPanel(document.getElementById('right-panel')); 


    var request = { 
     origin: <?php echo $start; ?>, 
     destination: <?php echo $end; ?>, 
     travelMode: google.maps.DirectionsTravelMode.DRIVING 
    }; 

    directionsService.route(request, function(response, status) { 
     if (status == google.maps.DirectionsStatus.OK) { 
     directionsDisplay.setDirections(response); 
     } 
    }); 
    </script> 
</body> 
</html> 
+1

Erhalten Sie Fehlermeldungen im Browser-Konsole ...? Beachten Sie, dass, wenn '$ Starten' und' $ end' schlüsselt speichern, können Sie sie in Anführungszeichen zu wickeln haben: 'Herkunft: ""' Was du getan hast war JavaScript sagen, eine Variable zu verwenden Leeds genannt, das es nicht gibt. Ein Blick auf die generierte Quelle oder auf Konsolenfehler hätte Ihnen das gesagt. –

+0

Danke für Ihre Antwort. Ich habe die Zitate hinzugefügt und immer noch keine Freude. Ich habe die Konsole überprüft und bekomme nur einen Fehler. Uncaught Vbmessage: "initMap ist keine Funktion" name: "InvalidValueError" – Brad

+0

Wie am Ende der maps-Skript-URL angegeben, erwartet das Skript eine Funktion namens 'initMap()', die Code zum Initialisieren der Map enthält. Wickeln Sie Ihre Skriptbefehle in diese Funktion ein, wie in den Beispielen auf dev.google gezeigt, und es sollte funktionieren. –

Antwort

0

ich Ihren Code und lt bewertet haben sieht aus wie Sie die Herkunfts- und Zielwerte als „STRING containg der Ortsname“ sind vorbei, Wo, wie in Google Maps API, die Koordinaten eines Ortes erhalten wird, die lat und lange für einen Platz in dieser Art und Weise, wie in der google map api https://developers.google.com/maps/documentation/javascript/examples/directions-travel-modes erklärte:

origin: {lat: 37.77, lng: -122.447}, // Haight. 
destination: {lat: 37.768, lng: -122.511}, // Ocean Beach. 
// Note that Javascript allows us to access the constant 
// using square brackets and a string value as its 
// "property." 
travelMode: google.maps.TravelMode[selectedMode] 

so soll Sie folgenden Code ersetzen:

var request = { 
     origin: <?php echo $start; ?>, 
     destination: <?php echo $end; ?>, 
     travelMode: google.maps.DirectionsTravelMode.DRIVING 
    }; 

Mit einem Code ähnlich dem, den ich gerade oben gepostet habe. Hoffe das wird dir helfen.

Verwandte Themen