我正在使用 angular-google-maps ( http://angular-google-maps.org/ ) 在我的 AngularJS 应用程序中创建地图。在该<google-map>
元素中,我有一个<markers>
将模型属性设置为数组的元素,该数组是 $http.get 请求的结果。但由于某种原因,标记永远不会加载。
为了知道数据是否存在,我在地图旁边设置了一个带有 ng-repeat 的简单列表,以在返回结果时输出数组中每个元素的 id,它确实填充了列表,所以我不是确定使用<markers>
指令时为什么不填充标记。是因为它们是从 $http.get 加载的,我需要做一些不同的事情吗?
这就是我目前正在做的从服务器获取数据的全部工作。Trucks 是一项具有查找器功能的服务。
Trucks
.findAll()
.then(function(success) {
$scope.trucks = success.data;
}, function(error) {
console.debug(error);
});
我的 HTML 看起来像这样。
编辑 - 我阅读了更多文档,发现我需要添加 coords 属性 = 'self' 因为经度和纬度是模型本身的一部分,但标记仍然没有出现
<div class="row row-fluid">
<div class="google-map col-xs-9" center="map.center" zoom="map.zoom">
<markers models="trucks" do-rebuild-all="true" do-cluster="true" coords="'self'"></markers>
</div>
<div class="col-xs-3">
<ul>
<li ng-repeat="truck in trucks">{{truck.id}}</li>
</ul>
</div>
</div>
谢谢。