谷歌地图继续给我同样的错误

时间:2017-05-27 15:50:35

标签: javascript html google-maps

我正在尝试插入一个谷歌地图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>

2 个答案:

答案 0 :(得分:1)

您永远不会初始化实际地图。请尝试以下方法。 (当我删除API密钥时,它会抛出错误)

&#13;
&#13;
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;
&#13;
&#13;

答案 1 :(得分:1)

如果重新安排代码段以在API包含之前定义myMap函数,则发布的代码将按原样运行。请注意,您(目前)不需要在stackoverflow.com上使用密钥,因为它是通过无密钥访问获得的。

&#13;
&#13;
#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;
&#13;
&#13;