Невозможно отобразить местоположение на карте Google при получении ввода от пользователя в nodejs - PullRequest
0 голосов
/ 31 марта 2019

В моей программе я пытаюсь принять место в качестве ввода, которое сохраняется в этом теге -

 <h2 style = "visibility:hidden" id = "events"><%= events %></h2> 

и затем я хочу отобразить его на карте Google. Код API Карт Java. Геолокация.

Пожалуйста, помогите, что не так с моим кодом.

location.ejs

<html>
  <head>
    <title>Geolocation</title>
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no">
    <meta charset="utf-8">
    <style>
    #map {
      height: 425px;
    }
    /* Optional: Makes the sample page fill the window. */
    html, body {
      height: 100%;
      margin: 0;
      padding: 0;
    }
    #floating-panel {
      position: absolute;
      top: 10px;
      left: 25%;
      z-index: 5;
      background-color: #fff;
      padding: 5px;
      border: 1px solid #999;
      text-align: center;
      font-family: 'Roboto','sans-serif';
      line-height: 30px;
      padding-left: 10px;
    }
  </style>


    <script async defer
    src="https://maps.googleapis.com/maps/api/js?key=AIzaSyAV1KcGBlkBrTFHvmNZLnsDvvKNU&callback=initMap">
    </script>
  </head>
  <body>
      <h2 style = "visibility:hidden" id = "events"><%= events %></h2> 

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

       <script>
  function initMap() {
        var list =document.getElementById('events').innerHTML ;
      console.log("list = ", list)  

        var geocoder = new google.maps.Geocoder();


        document.getElementById('events').addEventListener('onload', 
         function() {

          geocodeAddress(geocoder);
        });



        function geocodeAddress(geocoder) {


        var address = document.getElementById('events').innerHTML;
        geocoder.geocode({'address': address}, function(results, status) {
          console.log("Inside Address")

            resultsMap.setCenter(results[0].geometry.location);
            var marker = new google.maps.Marker({
              map: resultsMap,
              position: results[0].geometry.location
            });
            console.log("Above map")
            var map = new google.maps.Map(document.getElementById('map'), {
          zoom: 8,
          center: {lat: results[0].geometry.location.lat(), lng: results[0].geometry.location.lng()}
        });

        });


      }
    }
    </script>
  </body>
</html>

...