【发布时间】:2016-03-02 14:58:20
【问题描述】:
我正在使用Angular Google Maps 在我的网络应用程序中包含地图。我正在收听成功触发的drag 事件,但地图的center 属性在拖动停止之前不会更新。这是预期的行为吗?我找不到任何要确认的文档。
$scope.map = {
center: $scope.currentCoords,
control: {},
zoom: 15,
events: {drag: function(m, e, args){mapDragged(m, e, args)}}
};
var mapDragged = function(map, eventName, args){
console.log($scope.map.center); // this value only changes when dragging stops and restarts
}
更新
我尝试在此示例中使用本机谷歌地图事件,这些事件似乎捕捉到地图中心的变化,但这仍然不起作用。 'center_changed' 事件仅在拖动停止后触发,而不像 example 中那样
google.maps.event.addListener($scope.map.control.getGMap(), 'center_changed',function() {
console.log($scope.map.control.getGMap().getCenter().toUrlValue());
});
更新 2
当我将 chrome 开发人员工具设置为设备模式时,看起来一切正常。预期用途是在移动设备上,因此需要找到一种方法来完成这项工作......
【问题讨论】:
-
我已经在 fiddle jsfiddle.net/w2wcbk84 上测试过 mapp 可能不知何故
dragevent sopscenter_changed -
请看我的第二次更新。似乎问题在于 Chrome 开发工具上的触摸事件。
-
老实说,我只是避免尝试将 Chrome 开发工具用作对移动设备的绝对完美测试。我发现有时非常简单的布局部分、Javascript 运行的感觉等在开发工具中没有得到很好的体现。这是一个很好的总体情况,但不适合 IMO 的具体情况。
标签: javascript google-maps google-maps-api-3 google-chrome-devtools angular-google-maps