百度地图API 鼠标滚动总是以中心点缩放,而不以选中点缩放。
百度地图API

解决方案 »

  1.   

    可以在点选中点的时候,把地图容器的center设置到这个点,剩下就ok了。
      

  2.   

    <script type="text/javascript">  
                function locMap(lon, lat, FName) {  
                    var phone={ enableMessage:false}
                    var info=new BMap.InfoWindow(FName,phone); 
                    var map1 = new BMap.Map("allmap");
                    map1.centerAndZoom(new BMap.Point(lon, lat), 9);
                    var point1 = new BMap.Point(lon, lat);
                    var er1 = new BMap.Marker(point1);
                    map1.enableScrollWheelZoom();
                    map1.enableInertialDragging();
                    map1.enableContinuousZoom();
                    
                    map1.addControl(new BMap.OverviewMapControl());
                    map1.addControl(new BMap.NavigationControl()); 
                    map1.addControl(new BMap.ScaleControl());      // 添加比例尺控件 
                    map1.enableScrollWheelZoom();                  //启用滚轮放大缩小
                    map1.addOverlay(er1);
                    
                    var cp = point1;//cp为临时point
                    map1.addEventListener("tilesloaded",function(){//加载完成时,触发 
                    map1.setCenter(cp); 
                    
                    map1.addEventListener("click", function(e){
                      var lngs=""+e.point.lng+"";
                      var lats=""+e.point.lat+"";
                      locateMsg(lngs,lats);
                      map1.clearOverlays(); 
                      var pointMarker = new BMap.Point(e.point.lng, e.point.lat); // 创建标注的坐标 
                      addMarker(pointMarker); 
                     });
                    
                    }); 
                    function addMarker(point) { 
                        var myIcon = new BMap.Icon("../App_Themes/Default/images/mk_icon.png", new BMap.Size(25, 50), 
                        { offset: new BMap.Size(25, 50), 
                        imageOffset: new BMap.Size(4, 0) 
                        }); 
                        var er2 = new BMap.Marker(point, { icon: myIcon }); 
                        map1.addOverlay(er2); 
                    } 
                    //添加标注
                    addInfo(info,er1);
                } 
                //创建标注
                function addInfo(infos,er) {
                    er.addEventListener("onclick", function() { this.openInfoWindow(infos) }); 
                } 
     </script>
      

  3.   

    选中点设置后,设置这个点为中心点。map.centerAndZoom(point,16);