绘图管理器未显示在 Google 地图上

问题描述 投票:0回答:2

我正在编写以下代码。为什么绘图管理器没有显示在地图上?

$(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);

});

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

未捕获类型错误:无法读取未定义的属性“DrawingManager”

javascript google-maps-api-3
2个回答
6
投票

好的,我明白了问题

我必须将 Google Map Javascript 库更改为

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

1
投票

我遇到了同样的问题。最后发现问题可能来自于google map js库的冲突。 在我的代码中,我使用的是

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

加载绘图库,然后在另一个地方我使用google jsapi通过

加载google地图库
google.load("map", "3")

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

© www.soinside.com 2019 - 2024. All rights reserved.