javascript - 使用 Google Maps 的 API 创建地图时出现问题
问题描述
我必须创建一个使用 Google Maps API 返回客户端位置的地图,它用于分配。
代码工作正常,它找到经度和纬度并将其打印在屏幕上,但是当需要创建地图时会向我抛出此错误:消息:“地图:预期元素类型的 mapDiv 但被传递为空。名称:InvalidValueError”
有谁知道为什么会出现,因为我确实指定了 mapDiv
map = new google.maps.Map(document.getElementById("map"), {center: {lat: latitud, lng: longitud}, zoom: 14});
...
var longitud;
var latitud;
var options = {
enableHighAccuracy: true,
timeout: 5000,
maximumAge: 0
};
function success(pos) {
var crd = pos.coords;
latitud = crd.latitude
longitud = crd.longitude
document.getElementById("latitud").innerHTML = latitud
document.getElementById("longitud").innerHTML = longitud
};
function error(err) {
document.getElementById("map").innerHTML = ('ERROR(' + err.code + '): ' + err.message);
};
navigator.geolocation.getCurrentPosition(success, error);
function initMap(){
map = new google.maps.Map(document.getElementById("map"), {
center: {lat: latitud, lng: longitud},
zoom: 14
});
}
.map{
margin: 0 auto;
width: 300px;
height: 300px;
}
<head>
<meta charset="utf-8">
<script type="text/javascript" src="funciones.js"></script>
<script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyB0dtNMb8xZh0aMLX4P-KiNccovF1w2tpM&callback=initMap"></script>
<link rel="stylesheet" type="text/css" href="style.css">
<meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no, width=device-width">
<title>Tcuida</title>
</head>
<div class="paginaPrinc" id="paginaPrinc">
<div id="latitud"></div>
<div id="longitud"></div>
<div id="map" class="map"></div>
</div>
解决方案
当document.getElementById("map")
返回null
或类型不是div
.
map = new google.maps.Map(element, options)
函数中的第一个参数需要div
类型的元素
推荐阅读
- azure - 在应用程序洞察中捕获 APIM 请求和响应有效负载的正确方法是什么?
- amazon-web-services - EKS pod 中的多个卷挂载
- c++ - 等待 MyService 服务连接时达到超时(45000 毫秒)
- javascript - 有没有一种巧妙的方法来分隔 JS/jquery 中的选中复选框标签?
- r - 根据列值删除分组后的行
- javascript - 如何在输入时连续加粗div中的文本
- mysql - 未找到兼容的服务器 - MySQL
- css - 如何在 MD Bootstrap 中更改输入组件的下划线颜色
- python-3.x - 如何在 Google Colab 中使用 OpenPose Python API?
- flutter - 如何获取存储在我的数据库中的坐标的纬度和经度以等待 Geolocator().distanceBetween 颤动