图纸管理器未在谷歌地图上显示

时间:2014-03-06 03:45:26

标签: javascript google-maps-api-3

您能否看一下这段代码,让我知道为什么绘图管理器没有在地图上显示?

$(document).ready(function () {
    var map;
    var latlng = new google.maps.LatLng(49.241943, -122.889318);
    var myOptions = {
        zoom: 12,
        center: latlng,
        disableDefaultUI: true,
        mapTypeId: google.maps.MapTypeId.ROADMAP
    };

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

    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,
                google.maps.drawing.OverlayType.POLYGON,
                google.maps.drawing.OverlayType.POLYLINE,
                google.maps.drawing.OverlayType.RECTANGLE
            ]
        },
        markerOptions: {
            icon: 'images/beachflag.png'
        },
        circleOptions: {
            fillColor: '#ffff00',
            fillOpacity: 1,
            strokeWeight: 5,
            clickable: false,
            editable: true,
            zIndex: 1
        }
    });
    drawingManager.setMap(map);

});

我检查了控制台,收到此错误消息:

  

未捕获的TypeError:无法读取未定义的属性“DrawingManager”

你能告诉我为什么会这样吗?

2 个答案:

答案 0 :(得分:5)

好的,我遇到了问题

我必须将Google Map Javascript Library更改为

<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false&libraries=drawing"></script>

答案 1 :(得分:0)

我遇到了同样的问题。最后,发现问题可能来自谷歌地图js库的冲突。 在我的代码中,我正在使用

<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false&libraries=drawing"></script>

加载绘图库,然后在另一个地方我用google jsapi来加载谷歌地图库

google.load("map", "3")

删除google.load(“map”,“3”)代码后,错误就消失了。