我正在尝试插入一个谷歌地图tp我的HTML代码,但它一直给我这个错误:“myMap不是一个函数”,这是我的代码:
function myMap() {
var mapOptions = {
center: new google.maps.LatLng(51.5, -0.12),
zoom: 10,
mapTypeId: google.maps.MapTypeId.HYBRID
}
var map = new google.maps.Map(document.getElementById("map"), mapOptions);
}
#map{
width: 100%;
height: 250px;
}
<div id="map"></div>
<script src="https://maps.googleapis.com/maps/api/js?key=APIKEY4&callback=myMap"></script>
答案 0 :(得分:1)
您永远不会初始化实际地图。请尝试以下方法。 (当我删除API密钥时,它会抛出错误)
function myMap() {
var mapOptions = {
center: new google.maps.LatLng(51.5, -0.12),
zoom: 10,
mapTypeId: google.maps.MapTypeId.HYBRID
}
var map = new google.maps.Map(document.getElementById("map"), mapOptions);
}
google.maps.event.addDomListener(window, 'load', myMap);
&#13;
#map{
width: 100%;
height: 250px;
}
&#13;
<div id="map"></div>
<script src="https://maps.googleapis.com/maps/api/js?key=APIKEY4&callback=myMap"></script>
&#13;
答案 1 :(得分:1)
如果重新安排代码段以在API包含之前定义myMap
函数,则发布的代码将按原样运行。请注意,您(目前)不需要在stackoverflow.com上使用密钥,因为它是通过无密钥访问获得的。
#map {
width: 100%;
height: 250px;
}
&#13;
<div id="map"></div>
<script>
function myMap() {
var mapOptions = {
center: new google.maps.LatLng(51.5, -0.12),
zoom: 10,
mapTypeId: google.maps.MapTypeId.HYBRID
}
var map = new google.maps.Map(document.getElementById("map"), mapOptions);
}
</script>
<script async defer src="https://maps.googleapis.com/maps/api/js?callback=myMap"></script>
&#13;