xufenglei
2018-07-31 6b9938b5faf4a1b66f1c8886adc402d42bd447c1
src/main/webapp/js/moralmap.js
@@ -44,22 +44,36 @@
    * 百度地图初始化
    */
   moralMap.mapInit = function() {
      baiduMap = new BMap.Map("mapCanvas", {
         minZoom: 12,
         maxZoom: 20
      }); // 创建Map实例,设置地图允许的最小/大级别
       var defaultParam = {
            minZoom: 12,
            maxZoom: 20
        };
       debugger;
       if(!!arguments[1]) {
         $.extend(defaultParam,arguments[1]);
        }
      baiduMap = new BMap.Map("mapCanvas",defaultParam); // 创建Map实例,设置地图允许的最小/大级别
      var map = baiduMap;
      var mapStyle = {
         features: ["road", "building", "water", "land"], //隐藏地图上的poi
         style: "normal" //设置地图风格为高端黑 
      }
      map.setMapStyle(mapStyle);
      var showZoom = 13;
      if(arguments.length == 2) {
         map.centerAndZoom(new BMap.Point(arguments[0], arguments[1]), showZoom);
      } else if(arguments.length == 1) {
         map.centerAndZoom(arguments[0], showZoom);
      }
      var showZoom = 12;
        var address = arguments[0];
        var regoinNames = address.split(" ");
        var cityName = regoinNames.length>1?regoinNames[1]:regoinNames[0];
        map.setCurrentCity(cityName);
            // 将地址解析结果显示在地图上,并调整地图视野
            // 创建地址解析器实例
            var myGeo = new BMap.Geocoder();
            myGeo.getPoint(address, function(point){
                if (point) {
                    map.centerAndZoom(point, showZoom);
                }else{
                    alert("您选择地址没有解析到结果!");
                }
            }, cityName);
      //增加导航控件
      map.enableScrollWheelZoom(true);
      var navigation = new BMap.NavigationControl({
@@ -170,8 +184,8 @@
      _bounds.southwestLat = _bounds.southwestLat || bs.southwestLat;
      _bounds.northeastLng = bs.northeastLng > _bounds.northeastLng ? bs.northeastLng: _bounds.northeastLng;
      _bounds.northeastLat = bs.northeastLat > _bounds.northeastLat ? bs.northeastLat: _bounds.northeastLat;
      _bounds.southwestLng = bs.southwestLng > _bounds.southwestLng ? bs.southwestLng: _bounds.southwestLng;
      _bounds.southwestLat = bs.southwestLat > _bounds.southwestLat ? bs.southwestLat: _bounds.southwestLat;
      _bounds.southwestLng = bs.southwestLng < _bounds.southwestLng ? bs.southwestLng: _bounds.southwestLng;
      _bounds.southwestLat = bs.southwestLat < _bounds.southwestLat ? bs.southwestLat: _bounds.southwestLat;
      this[key] = _bounds;
   }
   moralMap.isOverBounds = function() {
@@ -184,8 +198,8 @@
      } else {
             isOver = (bs.northeastLng > _bounds.northeastLng
                  || bs.northeastLat > _bounds.northeastLat
                  || bs.southwestLng > _bounds.southwestLng
                  || bs.southwestLat > _bounds.southwestLat);
                  || bs.southwestLng < _bounds.southwestLng
                  || bs.southwestLat < _bounds.southwestLat);
           if(isOver){
                  moralMap.setMaxBounds(bs);
           }
@@ -427,7 +441,7 @@
                        state = stateObj["state"];
                        stateName = stateObj["stateName"];
                        var name = e['name'];
                        if(moralMap.getUtf8Length(name) > 24) {
                        if(moralMap.getUtf8Length(name) > 22) {
                           var stop1 = 0;
                           for(var stop1_i = 0, len = 0; stop1_i < name.length; stop1_i++) {
                              len += ((name.charCodeAt(stop1_i) & 0xff00) != 0) ? 2 : 1;
@@ -541,7 +555,7 @@
            width: 110, // 信息窗口宽度
            height: 80, // 信息窗口高度
            title: getTitleOutHtml(), // 信息窗口标题
            offset: new BMap.Size(-2,0) //设置信息窗偏移
            offset: new BMap.Size(-8,-5) //设置信息窗偏移
         }
         function getTitleOutHtml() {
@@ -836,6 +850,7 @@
               if(typeof option == 'object') {
                  var longitude = option['longitude'];
                  var latitude = option['latitude'];
                  // 检索当前坐标范围内的组件
                  if(longitude < bounds.northeastLng && longitude > bounds.southwestLng && latitude < bounds.northeastLat && latitude > bounds.southwestLat) {
                     markers.push(oldmarker);
                  }