web-dev-qa-db-ja.com

キャッチされないTypeError:nullのプロパティ 'firstChild'を読み取ることができません(Googleマップの読み込みに失敗します)

誰かがGoogle Maps APIに関する知識を貸してくれないかと思っていました。私は同様の質問を読みましたが、まだ答えを出すことができていません。タイトルにあるように、ブラウザコンソールに表示されるエラーは次のとおりです。

Uncaught TypeError: Cannot read property 'firstChild' of null

これは、値の受け渡し方法に問題があることを意味すると理解しています。以下は、Chromeでsourcesが指す関連するコードスニペットです。

// --- Global Variable
var map;


// --- View Model.
function AppViewModel() {

  // Initial Map
  map = new google.maps.Map(document.getElementById('map'), {
    center: {lat: 39.305, long: -76.617},
    zoom: 12
  });


// --- Initalize Application.
function initApp() {
  ko.applybindings(new AppViewModel());
}

Googleマップが読み込もうとすると、エラーがスローされるようです。私がここで間違っていることについて誰かが考えていますか?提供された助けをありがとう。

参照用のHTML:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>Bolton Hill Neighborhood Map</title>
  <link rel="stylesheet" href="static/main.css">
  <meta name="viewport" content"width=device-width, initial-scale=1">
</head>
<body>
 <div class='map'>maps error</div>

  <script src="./js/knockout.js"></script>
  <script src="./js/jquery.min.js"></script>
  <script src="./js/app.js"></script>
  <script async defer src="https://maps.googleapis.com/maps/api/js?key=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&callback=initApp" onerror="errorHandler"></script>
</body>
</html>
22

center: {lat: 39.305, long: -76.617}longは正しくないと思います。
latlngは次のように定義する必要があります。

var latlng = new google.maps.LatLng(39.305, -76.617);
map = new google.maps.Map(document.getElementById('map'), {
  center: latlng,
  zoom: 12
});

そして

不明なTypeError:nullのプロパティ 'firstChild'を読み取れません

通常、エラーメッセージはmap = new google.maps.Map(document.getElementById('id_that_does_notexist'), {

53
Hua Trung