snaggs
snaggs

Reputation: 5713

Can't see drawing polygon in Google maps v3 till move the map center

I have following Demo where I try to draw Polygon by using Google maps v3.

But when I try to draw Polygon its invisible till I change map center.

Do I need repaint it somehow?

Here is the code:

var map2;

function linesmap(){

    var myOptions = {
    zoom: 14,
    center: new google.maps.LatLng(51.425, -0.955),
    mapTypeId: google.maps.MapTypeId.ROADMAP
    };
    // map2 = new google.maps.Map(document.getElementById("map_canvas"), myOptions);

     var options = {                                
                         zoom: 14,
                         center: new google.maps.LatLng(51.425, -0.955),
                         mapTypeId: google.maps.MapTypeId.ROADMAP,
                         panControl: false,
                         scrollwheel: true,
                         draggable: true,
                         rotateControl: false,
                         mapTypeControl: true,
                         scaleControl: true,
                         streetViewControl: true,
                         zoomControl: true,
                         disableDoubleClickZoom: false
    };


    map2 = new google.maps.Map(document.getElementById("map_canvas"), options);
    buildDrawManager();
}
var buildDrawManager = function(){
     console.log('buildDrawManager');

     // Creates a drawing manager attached to the map that allows the user to draw
     // markers, lines, and shapes.
     drawingManager = new google.maps.drawing.DrawingManager({
     drawingMode: null,
     drawingControlOptions: {
                position: google.maps.ControlPosition.TOP_CENTER,
                drawingModes: [
                google.maps.drawing.OverlayType.POLYGON
                ]
            },
            polygonOptions: {
                fillColor: '#1E90FF',
                strokeWeight: 0,
                fillOpacity: 0.3,
                editable: true
            },
            map: map2
        });

    google.maps.event.addListener(drawingManager, 'polygoncomplete',  function(polygon) { });

}

[EDIT]

It happens on Chrome version 32.0.1700.76

Upvotes: 1

Views: 1263

Answers (2)

eric
eric

Reputation: 21

@fessy Your fix doesn't seem to be working for me. I was able to get it working by touching the zoom level. You don't event notice it happen.

document.getElementById("map_canvas").onclick = function(){
    if(drawingManager.getDrawingMode() !== google.maps.drawing.OverlayType.HAND){
        map2.setZoom(map2.getZoom() + 1);
        map2.setZoom(map2.getZoom() - 1);
    }
};

http://plnkr.co/edit/TP8TIjvdRHHOyg6NKQWc?p=preview

Upvotes: 2

snaggs
snaggs

Reputation: 5713

Thanks to @geocodezip that posted workaround to solve this issue.

Here is a fix: Changed version

https://maps.googleapis.com/maps/api/js?sensor=false&v=3&libraries=geometry,visualization,drawing

to exp.:

https://maps.googleapis.com/maps/api/js?sensor=false&v=3.exp&libraries=geometry,visualization,drawing

and Plunker with fix

Upvotes: 0

Related Questions