1

我正在使用 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>

谢谢。

4

1 回答 1

1

我知道这看起来很奇怪,它可能无法解决您的问题,但 do-cluster 属性实际上应该是 doCluster。由于这些指令的构建方式,您实际上为这些指令做了骆驼案例。您可以发布一个您正在获取的数据的示例吗?另外,我相信 do-rebuild-all 也将是 doRebuildAll

于 2014-06-20T10:26:30.443 回答