Javascript 谷歌地图V3标记管理器

Javascript 谷歌地图V3标记管理器,javascript,google-maps,markermanager,Javascript,Google Maps,Markermanager,我正试图让Marker Manager在Google Maps V3上工作。我试图复制教程页面上显示的内容,但似乎无法使其正常工作。这是我目前使用的代码: function gmapInit() { drawMap(); } function drawMap() { var center = new google.maps.LatLng(..., ...); var mapOptions = {

我正试图让Marker Manager在Google Maps V3上工作。我试图复制教程页面上显示的内容,但似乎无法使其正常工作。这是我目前使用的代码:

function gmapInit()
    {
        drawMap();
    }

    function drawMap()
    {
        var center = new google.maps.LatLng(..., ...);
        var mapOptions = {
            center: center,
            scrollwheel: false,
            mapTypeId: google.maps.MapTypeId.ROADMAP,
            disableDefaultUI: true,
            zoomControl: true,
            streetViewControl: true
        };
        var map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions);


        var mgr = new MarkerManager(map);.
        google.maps.event.addListener(mgr, 'loaded', function()
        {
            createMarkers(map, mgr);
        });

        map.setCenter(center);
    }

    function createMarkers(map, mgr)
    {
        var bounds = new google.maps.LatLngBounds();

    <c:forEach var="place" items="${places}">
        var point = new google.maps.LatLng(..., ...);    
        bounds.extend(point);    

        var image = new google.maps.MarkerImage("...",               
                new google.maps.Size(25, 25),
                new google.maps.Point(0, 0),
                new google.maps.Point(0, 25),
                new google.maps.Size(25, 25));

        var marker = new google.maps.Marker({
            position: point,
            map: map,
            icon: image
        });

        google.maps.event.addListener(marker, 'click', function()
        {
           ...
        });           

        mgr.addMarker(marker, 20);

    </c:forEach>
        map.fitBounds(bounds);
        mgr.refresh();
        var listener = google.maps.event.addListener(map, "idle", function()
        {
            if (map.getZoom() > 16)
            {
                map.setZoom(16);
            }
        });
    }
对此有任何见解,敬请谅解:)


我正在使用的MarkerManager文件可以找到

这似乎已经解决了问题:

 var listener = google.maps.event.addListener(map, "idle", function()
        {
            if (map.getZoom() > 16)
            {
                map.setZoom(16);
            }
            mgr.refresh();
        });

问题是映射没有指定缩放级别。

这是实际代码吗?我看到一个小错误“var mgr=new MarkerManager(map);”后面有一个点;。如果您能提供一个JSFIDLE示例,我们将更容易检查这个案例
    var marker = new google.maps.Marker({
        position: point,
        map: map,
        icon: image
    });

    google.maps.event.addListener(marker, 'click', function()
    {
       ...
    });           

    mgr.addMarker(marker, 20);

    you should not assign map to marker while you are adding it to MarkerManager.

    var marker = new google.maps.Marker({
        position: point,
        **// map: map,**
        icon: image
    });

    google.maps.event.addListener(marker, 'click', function()
    {
       ...
    });           

    mgr.addMarker(marker, 20);
    var marker = new google.maps.Marker({
        position: point,
        map: map,
        icon: image
    });

    google.maps.event.addListener(marker, 'click', function()
    {
       ...
    });           

    mgr.addMarker(marker, 20);

    you should not assign map to marker while you are adding it to MarkerManager.

    var marker = new google.maps.Marker({
        position: point,
        **// map: map,**
        icon: image
    });

    google.maps.event.addListener(marker, 'click', function()
    {
       ...
    });           

    mgr.addMarker(marker, 20);