2017-09-14 270 views
-1

我想加载谷歌地图内div。我的脚本如下谷歌地图加载问题div

<script src="https://maps.googleapis.com/maps/api/js? 

    key=AIzaSyAiy_9XkvL8a5-zsSV5jFpH8sHcth5HkpE&callback=myMap"></script> 

    <script> 
    function myMap() { 
       var mapOptions = { 
        center: new google.maps.LatLng(19.015509, 72.843067), 
        zoom: 10, 
        mapTypeId: google.maps.MapTypeId.HYBRID 
       } 
       var map = new google.maps.Map(document.getElementById("map"), mapOptions); 
      } 
    </script> 

而在页面的加载我得到错误。我附上了错误图像。 enter image description here

回答

0

我不知道你到底错在哪里。 但是由你得到的错误。 该功能设置不正确。 或者它不在本地范围内。 但是,您应该查看Google的地图。 如果你想要的地址。 还有另一种方法可以将它加入你的代码。 只需输入Google地图并选择对应关系,然后将其粘贴到代码中即可。 我附上一个你可以理解的例子。 我的意思是。

<iframe src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d2702.5938589941825!2d8.640130883976095!3d47.36132677916924!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x479aa3ffb7057dbb%3A0x8dfd514b03a2c801!2sBodenacherstrasse+52%2C+8121+F%C3%A4llanden!5e0!3m2!1siw!2sch!4v1505149050010" frameborder="0" style="border:0" allowfullscreen></iframe> 
0

打动你的脚本MYMAP()的调用googleapis

<script> 
    function myMap() { 
       var mapOptions = { 
        center: new google.maps.LatLng(19.015509, 72.843067), 
        zoom: 10, 
        mapTypeId: google.maps.MapTypeId.HYBRID 
       } 
       var map = new google.maps.Map(document.getElementById("map"), mapOptions); 
      } 
    </script> 
    <script src="https://maps.googleapis.com/maps/api/js? 

    key=AIzaSyAiy_9XkvL8a5-zsSV5jFpH8sHcth5HkpE&callback=myMap"></script> 
0

之前,你必须以错误的顺序脚本。您正在加载Google Maps Javascript API v3而没有defer async标签,因此当它完成加载(内联)时,它将尝试调用功能myMap,该功能在脚本包含后定义(内联)。反转订单。

概念证明:

错误:Uncaught Vb {message: "myMap is not a function", name: "InvalidValueError", stack: "Error↵ at new Vb (https://maps.googleapis.com/m….googleapis.com/maps/api/js?callback=myMap:144:59"}

(没有错误,加载地图)

工作代码片段:

html, 
 
body, 
 
#map { 
 
    height: 100%; 
 
    width: 100%; 
 
    margin: 0px; 
 
    padding: 0px 
 
}
<div id="map"></div> 
 
<script> 
 
    function myMap() { 
 
    var mapOptions = { 
 
     center: new google.maps.LatLng(19.015509, 72.843067), 
 
     zoom: 10, 
 
     mapTypeId: google.maps.MapTypeId.HYBRID 
 
    } 
 
    var map = new google.maps.Map(document.getElementById("map"), mapOptions); 
 
    } 
 
</script> 
 
<script src="https://maps.googleapis.com/maps/api/js?callback=myMap"></script>

0

谷歌使用initMap默认功能,所以使用initMap()代替myMap()

试试这个:

function initMap() { 
    var mapOptions = { 
      zoom: 14, 
      center: new google.maps.LatLng(19.015509, 72.843067), 
      scrollwheel: false 
     };