Angularjs 谷歌地球区域不工作

Angularjs 谷歌地球区域不工作,angularjs,directive,google-earth-plugin,Angularjs,Directive,Google Earth Plugin,以下代码位于角度指令中: // -- Regions stuff var regions = {}; regions.us = {}; var lod = ge.createLod(''); var ne = {n:37.3214096102,s:26.9898707181,e:-90.4503326416,w:-107.730612278}; lod.set(128, -1, 0, 0); //107.730

以下代码位于角度指令中:

      // -- Regions stuff
      var regions = {};
      regions.us = {};
      var lod = ge.createLod('');
      var ne = {n:37.3214096102,s:26.9898707181,e:-90.4503326416,w:-107.730612278};
      lod.set(128, -1, 0, 0);

      //107.730612278,26.9898707181 -90.4503326416,26.9898707181 -90.4503326416,37.3214096102 -107.730612278,37.3214096102
      var usNe = ge.createLatLonAltBox('');
      usNe.setAltBox(
        ne.n, // north
        ne.s, // south
        ne.e, // east
        ne.w, // west
        0, // rotation
        0, // min altitude
        0, // max altitude
        ge.ALTITUDE_RELATIVE_TO_GROUND // mode
        );

      regions.us.ne = ge.createRegion('');
      regions.us.ne.set(usNe, lod); // lat lon alt box, level of detail
      // --

      var icon = ge.createIcon('');
      var offIcon = ge.createIcon('');
      var style = ge.createStyle('');
      var offStyle = ge.createStyle('');

      icon.setHref(window.location.href + '/assets/images/lightbulb.png');
      offIcon.setHref(window.location.href + '/assets/images/lightbulb_off.png');
      style.getIconStyle().setIcon(icon);
      offStyle.getIconStyle().setIcon(offIcon);
      style.getIconStyle().setScale(1);
      offStyle.getIconStyle().setScale(1);
      icon.setViewRefreshMode(ge.VIEW_REFRESH_ON_REGION);
      offIcon.setViewRefreshMode(ge.VIEW_REFRESH_ON_REGION);
      icon.setW(16);
      icon.setH(16);
      offIcon.setW(16);
      offIcon.setH(16);

      scope.control.createPlacemark = function (lat, lng, sale, to) {
        to = to || 0;
        var placemark = ge.createPlacemark('');
        var point = ge.createPoint('');
        point.setLatitude(+lat);
        point.setLongitude(+lng);
        placemark.setGeometry(point);
        placemark.setStyleSelector(style);
        ge.getFeatures().appendChild(placemark);

        if (+lng <= ne.e && +lng >= ne.w && +lat >= ne.s && +lat <= ne.n) {
          placemark.setRegion(regions.us.ne);
          console.log('done!');
        }

        $timeout(function () {
          placemark.setStyleSelector(offStyle);
        }, to);
        return placemark;
      };
/--Regions-stuff
var区域={};
regions.us={};
var lod=ge.createLod(“”);
var ne={n:37.3214096102,s:26.9898707181,e:-90.4503326416,w:-107.730612278};
lod.set(128,-1,0,0);
//107.730612278,26.9898707181 -90.4503326416,26.9898707181 -90.4503326416,37.3214096102 -107.730612278,37.3214096102
变量usNe=ge.createLatLonAltBox(“”);
usNe.setAltBox(
东北///北
东北,南,//南
东北///东
西北,西
0,//旋转
0,//最低高度
0,//最大高度
ge.高度相对于地面//模式
);
regions.us.ne=ge.createRegion(“”);
regions.us.ne.set(usNe,lod);//横向高度框,详细程度
// --
var icon=ge.createIcon(“”);
var offIcon=ge.createIcon(“”);
var style=ge.createStyle(“”);
var offStyle=ge.createStyle(“”);
icon.setHref(window.location.href+'/assets/images/lightbulb.png');
officecon.setHref(window.location.href+'/assets/images/lightbulb_off.png');
style.getIconStyle().setIcon(图标);
offStyle.getIconStyle().setIcon(offIcon);
style.getIconStyle().setScale(1);
offStyle.getIconStyle().setScale(1);
icon.setViewRefreshMode(ge.VIEW\u REFRESH\u位于\u区域);
offIcon.setViewRefreshMode(ge.VIEW\u REFRESH\u ON\u REGION);
图标。setW(16);
塞思(16岁);
环境运输及工务局局长(16);
赛斯警官(16);
scope.control.createPlacemark=功能(lat、lng、销售、收件人){
to=to | | 0;
var placemark=ge.createPlacemark(“”);
var point=ge.createPoint(“”);
设置纬度(+lat);
点经度(+lng);
placemark.setGeometry(点);
placemark.setStyleSelector(样式);
ge.getFeatures().appendChild(placemark);

如果(+lng=ne.w&&+lat>=ne.s&&+lat,那么创建与我的区域关联的文件夹就解决了我的问题。我有太多的位置标记,以至于很难分辨哪个位置标记与该区域关联,而上面的代码只关联了一个位置标记(不确定这是否是预期行为)

生成的代码看起来像

var folder = ge.createFolder('');
folder.setRegion(region);
ge.getFeatures().appendChild(folder);

// Then later in the placemark creation method
folder.getFeatures().appendChild(placemark);