Angularjs NgMap信息窗口未与标记对齐

Angularjs NgMap信息窗口未与标记对齐,angularjs,google-maps,google-maps-api-3,ng-map,Angularjs,Google Maps,Google Maps Api 3,Ng Map,我正在使用ngMap,但是信息窗口没有与标记对齐。它们通常出现在标记左上方约50像素处。我应该注意到,它最初确实工作,然后我们从Mongo更改为SQL,出于某种原因,此后它从未对齐过 屏幕截图 模板 <!-- the map --> <ng-map id="map" scrollwheel="false" class="row" > <marker id="{{p.sc

我正在使用ngMap,但是信息窗口没有与标记对齐。它们通常出现在标记左上方约50像素处。我应该注意到,它最初确实工作,然后我们从Mongo更改为SQL,出于某种原因,此后它从未对齐过

屏幕截图

模板

    <!-- the map -->
    <ng-map
      id="map"
      scrollwheel="false"
      class="row"
      >


      <marker
        id="{{p.scheduleId}}"
        ng-repeat="p in locatorGridData track by p.scheduleId"
        position="{{p.latitude}}, {{p.longitude}}"
        icon="{
          url:'app/assets/img/placeholder.png',
          scaledSize:[30,30]
        }"
        on-click="vm.selectFromMap(p)"
        class="markers"
      ></marker>



      <info-window id="infoWindow" visible-on-marker="vm.p.scheduleId">
        <div ng-non-bindable="" ng-click="vm.selectFromMap({},vm.p)" style="cursor: pointer;">
          <div class="practice-name">{{vm.p.locName}}</div>
          <div class="name-specialty">{{vm.p.firstName}} {{vm.p.lastName}}, {{vm.p.speciality}}</div>
          <div class="other-text-for-info-window">
            {{vm.p.address1}}<br>
            {{vm.p.city}}, {{vm.p.state}}<br>
            {{vm.p.zip}}
          </div>
        </div>
      </info-window>
    </ng-map>

信息窗口的无效定位可能确实与输入数据有关。例如,对于输入数据:

vm.locatorGridData = [
      {
        "scheduleId": "Red square,Moscow",
        "latitude": 55.7539303,
        "longitude": 37.618601
      },
      {
        "scheduleId": 123, //Invalid key for marker, should be string
        "latitude": 55.7469862,
        "longitude": 37.5370785
      }
    ];
第二个标记的信息窗口将被错误定位:

vm.map.showInfoWindow('infoWindow', p.scheduleId);  
第二个参数(
标记id
)应作为
字符串提供,以正确确定标记

angular.module('mapApp',['ngMap']))
.controller('mapController',函数($scope,NgMap){
var vm=这个;
vm.locatorGridData=[
{
“scheduleId”:“莫斯科红场”,
“纬度”:55.7539303,
“经度”:37.618601
},
{
“scheduleId”:123,/“莫斯科城”,
“纬度”:55.7469862,
“经度”:37.5370785
},
/*{
“scheduleId”:“无效POI”,
“纬度”:“55.7469862”,
“经度”:-37.5370785
}*/
];
getMap({id:'map'})。然后(函数(map){
vm.map=map;
});
vm.selectFromMap=函数(e,p){
vm.content=p.scheduleId;
vm.map.showInfoWindow('infoWindow',p.scheduleId.toString());
};
});
.row{
宽度:100%;
高度:240px;
}

{{vm.content}

谢谢!您是对的,id不能是整数。一旦我们把它变成一根弦,所有的平衡就回到了宇宙。我认为在大范围内(对于那些正在研究这个问题的人来说),如果您更改了DB,请确保标记和信息窗口上的新id是字符串。
vm.map.showInfoWindow('infoWindow', p.scheduleId);