标记不更新谷歌地图中AngularJS的坐标
我正在使用并拥有以下Jade代码:标记不更新谷歌地图中AngularJS的坐标,angularjs,google-maps,angular-google-maps,Angularjs,Google Maps,Angular Google Maps,我正在使用并拥有以下Jade代码: #map_canvas google-map(center='map.center', zoom='map.zoom', draggable='true', options='options', events='map.events') marker(coords='marker.coords', options='marker.options', idkey='marker.id') 在我的角度控制器中,我有: $scope.map = {c
#map_canvas
google-map(center='map.center', zoom='map.zoom', draggable='true', options='options', events='map.events')
marker(coords='marker.coords', options='marker.options', idkey='marker.id')
在我的角度控制器中,我有:
$scope.map = {center: {latitude: 42.2405, longitude: -8.7207 }, zoom: 12, events: {
click: function (map, eventName, args) {
$scope.marker.coords.latitude = args[0].latLng.lat();
$scope.marker.coords.longitude = args[0].latLng.lng();
console.log($scope.marker);
}
}
}
$scope.marker = {
id: 0,
coords: {
latitude: 42.2405, longitude: -8.7207
},
options: { draggable: true }
}
我尝试的是在每次单击时更新标记位置。
在console.log($scope.marker)代码>我可以看到我的标记确实打印了更新后的坐标值,但红色的针脚没有在地图上移动
我不知道我做错了什么
编辑:
在我调整地图大小后,标记确实会移动到新位置,因此我认为这是一个地图在标记位置更改时不刷新的问题。这是否应报告为错误?我能做些什么来解决它呢?终于!阅读$apply()的相关内容并找到解决方案后,如其中提到的:
将回调主体包装到$scope.$apply(函数(){…})中代码>。记得
你们的事件来自“非角度”世界
我发现它只是添加了$scope.$apply()代码>到单击功能的末尾
最后一个解决方案是唯一对我有效的。
我已经发布了所有的过程,因为我认为了解$Apple()的意义很有意思。