我想知道是否有人能够将他们的知识借给Google Maps API。我已经阅读了类似的问题,仍然无法得出答案。正如标题所示,我的浏览器控制台中显示的错误是:
Uncaught TypeError: Cannot read property 'firstChild' of null
我知道这意味着价值传递方式存在问题;以下是sources
在Chrome中指向的相关代码段:
// --- 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>
我认为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'), {
时通常会出现错误消息