Вставьте API GMaps в функцию JavaScript - PullRequest
0 голосов
/ 29 января 2020

Я пытаюсь добавить API Gmaps на страницу, которая загружает дополнительные страницы поверх главной страницы, и для этого мне нужно добавить все части моего скрипта в ту же функцию, которая показывает страницу, но я не знать, как заставить это работать.

myApp.onPageInit('contact', function(page) {
  $("#ContactForm").validate({
    submitHandler: function(form) {
      ajaxContact(form);
      return false;
    }
  });
  //
  //
  var map;

  function initMap() {
    map = new google.maps.Map(
      document.getElementById('map'), {
        center: new google.maps.LatLng(4, 2),
        zoom: 16
      });

    var iconBase =
      'https://developers.google.com/maps/documentation/javascript/examples/full/images/';

    var icons = {
      info: {
        icon: iconBase + 'info-i_maps.png'
      }
    };

    var features = [{
      position: new google.maps.LatLng(4, 2),
      type: 'info'
    }];

    // Create markers.
    for (var i = 0; i < features.length; i++) {
      var marker = new google.maps.Marker({
        position: features[i].position,
        icon: icons[features[i].type].icon,
        map: map
      });
    };
  }
  var script = document.createElement("script");
  script.src = "https://maps.googleapis.com/maps/api/js?key=****&callback=initMap";
  document.body.appendChild(script);
})

1 Ответ

0 голосов
/ 30 января 2020

Причина, по которой он не работал, была в том, что мне пришлось использовать функцию JQuery для загрузки API Карт Google. Остальной код такой же.

$.getScript("https://maps.googleapis.com/maps/api/js?key=*****", function() {
  initMap(); //InitMap is the function I use in order to customize the API
});
...