本文介绍了Google Maps API:markerwithlabel.js - 未捕获ReferenceError:谷歌未定义的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已阅读文档和示例,但我似乎无法解决初始化错误(Uncaught ReferenceError:google未定义+ Uncaught ReferenceError:homeLatLng未定义),当试图包含markerwithlabel.js文件和
这让我想起在地图制作完成之前无法加载任何东西的概率。



我能做什么?

试过的东西:

 < head> 
< script async defer src =https://maps.googleapis.com/maps/api/js?key=mykey&callback=initMap>< / script>
< script type =text / javascriptsrc =http://google-maps-utility-library-v3.googlecode.com/svn/trunk/markerwithlabel/src/markerwithlabel.js><< ; /脚本>
< script type =text / javascript>
var map;
函数initMap(){

map = new google.maps.Map(document.getElementById('map'),{
zoom:14,
center: {lat:52.5200066,lng:13.404954}
});

var marker1 =新的MarkerWithLabel({
位置:homeLatLng,
draggable:true,
raiseOnDrag:true,
map:map,
labelContent:$ 425K,
labelAnchor:新的google.maps.Point(22,0),
labelClass:labels,//标签的CSS类
labelStyle: {opacity:0.75}
});
}
< / script>

..

解决方案

markerwithlabel.js需要一个已经加载的maps-API。



当你异步加载maps-API时(就像你在代码中那样),那里解决方案:同步加载maps-API

 < script src =https://maps.googleapis.com/maps/api/js?v=3&key=mykey>< /脚本> 
< script type =text / javascriptsrc =http://google-maps-utility-library-v3.googlecode.com/svn/trunk/markerwithlabel/src/markerwithlabel.js><< ; /脚本>
< script type =text / javascript>
var map;
函数initMap(){

map = new google.maps.Map(document.getElementById('map'),{
zoom:14,
center: {lat:52.5200066,lng:13.404954}
});

var marker1 =新的MarkerWithLabel({
位置:homeLatLng,
draggable:true,
raiseOnDrag:true,
map:map,
labelContent:$ 425K,
labelAnchor:新的google.maps.Point(22,0),
labelClass:labels,//标签的CSS类
labelStyle: {opacity:0.75}
});
}
google.maps.event.addDomListener(window,'load',initMap);
< / script>


I have read the docs and examples, but I it seems I cannot solve the initialization error ("Uncaught ReferenceError: google is not defined" + Uncaught ReferenceError: homeLatLng is not defined) when trying to include markerwithlabel.js file and it's reminds me to the "you cannot load something before the map is done" prob.

What can I do?

What was tried:

<head>
<script async defer src="https://maps.googleapis.com/maps/api/js?key=mykey&callback=initMap"></script>
<script type="text/javascript" src="http://google-maps-utility-library-v3.googlecode.com/svn/trunk/markerwithlabel/src/markerwithlabel.js"></script>
<script type="text/javascript"> 
    var map;
    function initMap() {

            map = new google.maps.Map(document.getElementById('map'), {
                zoom: 14,
                center: {lat: 52.5200066, lng: 13.404954}
            });

            var marker1 = new MarkerWithLabel({
                   position: homeLatLng,
                   draggable: true,
                   raiseOnDrag: true,
                   map: map,
                   labelContent: "$425K",
                   labelAnchor: new google.maps.Point(22, 0),
                   labelClass: "labels", // the CSS class for the label
                   labelStyle: {opacity: 0.75}
            });
    }
</script>

..

解决方案

markerwithlabel.js requires a already loaded maps-API.

When you load the maps-API asynchronously(as you do in your code), there is no guarantee that the maps-API is loaded when markerwithlabel.js will be loaded.

solution: load the maps-API synchronously

<script src="https://maps.googleapis.com/maps/api/js?v=3&key=mykey"></script>
<script type="text/javascript" src="http://google-maps-utility-library-v3.googlecode.com/svn/trunk/markerwithlabel/src/markerwithlabel.js"></script>
<script type="text/javascript"> 
    var map;
    function initMap() {

            map = new google.maps.Map(document.getElementById('map'), {
                zoom: 14,
                center: {lat: 52.5200066, lng: 13.404954}
            });

            var marker1 = new MarkerWithLabel({
                   position: homeLatLng,
                   draggable: true,
                   raiseOnDrag: true,
                   map: map,
                   labelContent: "$425K",
                   labelAnchor: new google.maps.Point(22, 0),
                   labelClass: "labels", // the CSS class for the label
                   labelStyle: {opacity: 0.75}
            });
    }
google.maps.event.addDomListener(window, 'load', initMap);
</script>

这篇关于Google Maps API:markerwithlabel.js - 未捕获ReferenceError:谷歌未定义的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-25 05:13