Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Интерактивная карта через API (https://javascript.ru/forum/dom-window/73604-interaktivnaya-karta-cherez-api.html)

sne-syn 28.04.2018 00:57

Интерактивная карта через API
 
Тотальный новичок.
Закралась ошибка в переменной element. Не понимаю, что ей не нравится. Когда задаю через Id, работает на ура!. Но мне принципиально сделать через класс.
Заранее спасибо.

<section>
        <h2 class="visually-hidden">Карта</h2>
        <div class="background-map"></div>
      </section>

<script async defer src="https://maps.googleapis.com/maps/api/js?key=AIzaSyDn-3kWFCkwVxKJaChXKfgDae9fIBILboY&callback=initMap">
      </script>



function initMap() {
          var element = document.getElementsByClassName("background-map");
          var options = {
            zoom: 10,
            center: {
              lat: 34.857323,
              lng: -111.794933
            }
          };

          var myMap = new google.maps.Map(element, options);

          var marker = new google.maps.Marker({
            position: {
              lat: 34.857323,
              lng: -111.794933
            },
            map: myMap
          });

        }


.background-map {
  width: 100%;
  height: 595px;
}

j0hnik 28.04.2018 00:59

var element = document.getElementsByClassName("background-map")[0];

sne-syn 28.04.2018 01:14

Спасибо, добрый человек! А не подскажeте, откуда этот [0]?

j0hnik 28.04.2018 01:19

document.getElementsByClassName;
возвращает коллекцию. чтобы обратится к конкретному элементу,мы используем такую вот нотацию [номер элемента]. где отсчет начинается с нуля.
для того чтобы посмотреть что получает переменная можно использовать такой код
console.log(element)


Часовой пояс GMT +3, время: 12:08.