Google Maps V3标记管理器

问题描述

| 我正在尝试让标记管理器在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),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);
            }
        });
    }
但是,无论我设置了什么值和放大的缩放级别,图标仍然保持显示。此外,我仍然收到以下错误:
grid is undefined
任何对此的见解表示赞赏:) 我正在使用的MarkerManager文件可在此处找到     

解决方法

        这似乎已经解决了问题:
 var listener = google.maps.event.addListener(map,\"idle\",function()
        {
            if (map.getZoom() > 16)
            {
                map.setZoom(16);
            }
            mgr.refresh();
        });
问题是地图没有指定缩放级别。     ,        
    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,20);
    

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...