问题描述
我已阅读文档和示例,但我似乎无法解决初始化错误(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:谷歌未定义的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!