window.Map не является конструктором в Google Maps API v3 - PullRequest
0 голосов
/ 30 ноября 2018

У меня есть карта Google с новым ключом

, но в консоли появляется ошибка

Ошибка:

Uncaught TypeError: window.Map is not a constructor
    at Zr (map.js:2)
    at ds.release (map.js:53)
    at gs (map.js:5)
    at _.rl.Ab (map.js:59)
    at map.js:46

HTML

<head>
<script async defer
        src="https://maps.googleapis.com/maps/api/js?key=mykey">
</script>
</head>

<body onload="init()">
    <div id="map_canvas"></div>
</body>
<script src="js/index.js"></script>

index.js

Map = null;
function init() {
    var mapOptions = {***};
    Map = new google.maps.Map( document.getElementById( "map_canvas" ), mapOptions );
}

Спасибо за ваше время!

Ответы [ 2 ]

0 голосов
/ 30 ноября 2018

Это проблема еженедельной версии карт на этой неделе.Я изменил: ... // maps.googleapis.com/maps/api/js?key .... на ... // maps.googleapis.com/maps/api/js?v=3.34&key ...

первый сервер путей недельная версия карт, которая используется по умолчанию.Я выбрал его, чтобы установить версию 3.34, которая работала нормально.Я мог бы выбрать квартальную версию, которая будет автоматически обновляться до версии текущего квартала (она будет автоматически обновляться в следующем квартале), добавив v = ежеквартально.В любом случае 3.34 исправили мои проблемы.

0 голосов
/ 30 ноября 2018

Карта - зарезервированное слово в EcmaScript, поэтому не следует использовать его в качестве имени переменной: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map

Проблема в этой строке (jsfiddle считает, что Map только для чтения):

Map =  null;

Переименуйте переменную вашей карты во что-то другое (например, map, в нижнем регистре "m").

подтверждение концепции скрипта

фрагмент кода:

map = null;

function init() {
  var mapOptions = {
    center: {
      lat: 0,
      lng: 0
    },
    zoom: 1
  };
  map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions);
}
google.maps.event.addDomListener(window, "load", init);
html,
body,
#map_canvas {
  height: 100%;
  width: 100%;
  margin: 0px;
  padding: 0px
}
<script src="https://maps.googleapis.com/maps/api/js"></script>
<div id="map_canvas"></div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...