我正在尝试使用Google Maps API v3但我总是出错
我在页面中添加了脚本:
<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?sensor=false&libraries=drawing"></script>
我实施了:
var drawingManager = new google.maps.drawing.DrawingManager({
drawingMode: google.maps.drawing.OverlayType.MARKER,
drawingControl: true,
drawingControlOptions: {
position: google.maps.ControlPosition.TOP_CENTER,
drawingModes: [google.maps.drawing.OverlayType.MARKER, google.maps.drawing.OverlayType.CIRCLE]
},
/*markerOptions: {
icon: new google.maps.MarkerImage('http://www.example.com/icon.png')
},*/
circleOptions: {
fillColor: '#ffff00',
fillOpacity: 1,
strokeWeight: 5,
clickable: false,
zIndex: 1,
editable: true
}
我总是得到同样的错误:
未捕获的TypeError:无法读取未定义的属性“DrawingManager”
答案 0 :(得分:15)
'本文档中的概念仅指google.maps.drawing库中提供的功能。默认情况下,在加载Maps Javascript API时不会加载此库,但必须通过使用库引导参数显式指定:'
http://maps.googleapis.com/maps/api/js?sensor=false&libraries=drawing
答案 1 :(得分:9)
我得到了同样的错误,我想出来了。使用“https”代替“http”...
< script type="text/javascript"
src="https://maps.googleapis.com/maps/api/js?sensor=false&libraries=drawing">
</script>
答案 2 :(得分:2)
在加载库之前,您的代码似乎正在执行。如果要异步加载,则应将库包含在相同API调用中,该函数指定对映射初始化函数的回调(可能包括/调用您的代码片段)。如果您的初始化函数被称为initMap
,那么执行以下操作:
<script type="text/javascript" src="https://maps.googleapis.com/maps/api/jskey=YOUR_API_KEY?libraries=drawing&callback=initMap"></script>
我有两个脚本标签我得到了同样的错误;一个加载绘图库(就像你的,没有回调)和另一个只有回调。谷歌在我的控制台中写下以下内容后,我修好了它。
You have included the Google Maps API multiple times on this page. This may cause unexpected errors.
答案 3 :(得分:2)
使用此:
<script async defer src="https://maps.googleapis.com/maps/api/js?libraries=geometry,drawing&key=YOURKEY&v=3&callback=initMapfUNCTION"></script>
YOURKEY ==>将此单词替换为您的Map API密钥 initMapfUNCTION ==>将该单词替换为地图的初始函数的名称
答案 4 :(得分:0)
除了你的代码示例不完整之外(我猜你刚刚复制它时错过了右括号),我看不出任何明显的东西。我没有使用过绘图库,但似乎你正确地遵循文档。我会说使用Firebug检查从谷歌加载的Javascript,看看它是否提到了有关DrawingManager类的任何内容。
答案 5 :(得分:0)
尝试添加
});
最后。
希望它有所帮助。答案 6 :(得分:0)
所以我不知道是否有人真的回答过这个问题,但是您应该做的是在看起来像"&libraries=drawing
的网址末尾添加src="https://maps.googleapis.com/maps/api/js?libraries=geometry,drawing&key=YOURKEY&v=3&callback=initMapfUNCTION **ADD HERE** "