Angularjs NgMap信息窗口未与标记对齐
我正在使用ngMap,但是信息窗口没有与标记对齐。它们通常出现在标记左上方约50像素处。我应该注意到,它最初确实工作,然后我们从Mongo更改为SQL,出于某种原因,此后它从未对齐过 屏幕截图 模板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
<!-- 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);