4

我正在尝试让 angular-google-maps 工作。我已经按照说明进行了所有设置,但我似乎无法解决这个错误:

angular-google-maps:找不到有效的中心属性

我的页面控制器中有这个:

angular.extend($scope, {
   center: {
    latitude: 0, // initial map center latitude
    longitude: 0, // initial map center longitude
   },
   markers: [], // an array of markers,
   zoom: 8, // the zoom level
});

这在我的html中

<google-map center="center" zoom="zoom" markers="markers" refresh="!isMapElementHidden" style="height: 400px"></google-map>

几点: - 似乎在我的控制器代码之前调用了 angular-google-maps 指令代码,因此尚未创建 $scope.center 变量

  • 当我在其中硬编码一个中心时

  • 我尝试了这个,但没有任何运气,因为地图永远不会更新到控制器中设置的新应对值:

    中心=“中心?中心:{纬度:36.990282103105066,经度:-122.06149578094482}”

  • 我也尝试实现 Angular Leaflet 地图并得到完全相同的问题

谢谢!

4

2 回答 2

5

工作演示

你没有传递中心属性而且我建议你使用r1-dev分支指令而不是angular-google-maps 的分支指令,传递这样的参数

 angular.extend($scope, {
        centerProperty: {
            lat: 45,
            lng: -73
        },
        zoomProperty: 8,
        markersProperty: [ {
                latitude: 45,
                longitude: -74
            }],
        clickedLatitudeProperty: null,  
        clickedLongitudeProperty: null,
    });

或者你也可以使用

position: {
  coords: {
    latitude: 36.990282103105066,
    longitude: -122.06149578094482
  }
},
于 2013-10-15T12:06:15.943 回答
0

我收到此错误是因为我使用的是旧版本的 angular-google-maps,它期望中心具有 lat 和 lng 属性,而不是纬度经度。

另外值得注意的是:从 2.0.7 开始,该模块被定义为 uiGmapgoogle-maps 并且 map 指令是 ui-gmap-google-map

于 2014-11-08T21:35:19.853 回答