добавление переменных PHP в функции Javascript с помощью API Google Directions

-1 Brad [2017-09-19 00:46:00]

Я новичок в API Google. Я создаю приложение, в котором мне нужно использовать адреса, сохраненные в базе данных t0, отображающие маршрут к событию. Я нашел шаблон, позволяющий вручную изменять переменные Javascript в API карт google, однако, когда я пытаюсь использовать переменную PHP в функции, она не будет загружать карту. Я еще не подключил его к моей базе данных, я просто пытаюсь заставить его работать с переменными PHP

Просто подумал, может ли кто-нибудь указать мне в правильном направлении и помочь мне.

  <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>

javascript api php google-maps google-direction


1 ответ


0 Mohammed Anwar [2017-09-19 01:55:00]

Я просмотрел ваш код, и похоже, что вы передаете значения origin и Destination как "STRING CONTAING THE PLACE NAME", где, как и в API Google Maps, он должен получить координаты места, lat и long для места в таким образом, как указано на карте google api https://developers.google.com/maps/documentation/javascript/examples/directions-travel-modes:

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]

Поэтому вы замените свой следующий код:

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

С кодом, подобным тому, который я только что опубликовал выше. Надеюсь, что это поможет вам.