Google Maps Uncaught TypeError:无法读取未定义的属性"LatLng"

mik*_*628 6 javascript api google-maps

我一直收到这个错误"Uncaught TypeError:在尝试创建地图时无法读取未定义的属性'LatLng'
在头部:

 <script type="text/javascript" src="https://www.google.com/jsapi"></script>
 <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.js"/>
<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?v=3&sensor=true"></script>
Run Code Online (Sandbox Code Playgroud)

.............

function init(){


            var latlng = new google.maps.LatLng(-43.552965, 172.47315);
            var myOptions = {
                zoom: 10,
               center: latlng,
               mapTypeId: google.maps.MapTypeId.ROADMAP

            };
           map = new google.maps.Map(document.getElementById("map"), myOptions);


        }
Run Code Online (Sandbox Code Playgroud)

.............

    <body>
        <div id="map" style="width:600px;height: 600px;">
        </div>
        <ul class="navigation">
        </ul>
    </body>
Run Code Online (Sandbox Code Playgroud)

Red*_*ISU 7

如果一起使用,上述两个答案都将解决此问题.属性LatLng未定义,因为google对象尚不可用.

您始终关闭<script>标记期间.

google在加载DOM之前,对象不可用.所以在你的JavaScript中你必须使用谷歌地图addDomListener().Kara的解决方案是正确的,但它不会在你的情况下工作,因为函数名是init,addDomListener必须等待"加载".你需要:

google.maps.event.addDomListener(window, 'load', init);
Run Code Online (Sandbox Code Playgroud)

另一个非常简单的解决方案是将回调添加到脚本中

src="https://maps.googleapis.com/maps/api/js?v=3&sensor=true&callback=init
Run Code Online (Sandbox Code Playgroud)

回调将等待脚本加载,然后触发您的init函数初始化和绘制您的地图.

我把解决方案放在CodePen上http://codepen.io/redbirdisu/pen/BHivq


geo*_*zip 5

看起来问题是这缺少<script>jquery.js包含的结束标记:

 <script 
   type="text/javascript"
   src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.js"/>
 <script 
   type="text/javascript" 
   src="https://maps.googleapis.com/maps/api/js?v=3&sensor=true">
 </script>
Run Code Online (Sandbox Code Playgroud)

<script>标签需要用结束</script>,应该是:

 <script 
   type="text/javascript" 
   src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.js">     
 </script>
 <script 
   type="text/javascript" 
   src="https://maps.googleapis.com/maps/api/js?v=3&sensor=true">
 </script>
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请参见:为什么自关闭脚本标签不起作用?