Uncaught TypeError: Cannot read property 'x' of undefined pinch zoom on google maps
Uncaught TypeError: Cannot read property 'x' of undefined pinch zoom on google maps
我正在使用带有 google 地图的 openlayers 3。在移动设备上缩放时,地图停止工作并抛出异常:
Uncaught TypeError: Cannot read property 'x' of undefined
var googleMapOptions = {
disableDefaultUI : true,
keyboardShortcuts : false,
draggable : false,
disableDoubleClickZoom : true,
scrollwheel : false,
streetViewControl : false
};
googleMapDiv = document.getElementById('googleMap');
var googleMap = new google.maps.Map(googleMapDiv, googleMapOptions);
openLayersView = new ol.View({
// Do NOT go beyond the 22 zoom levels of Google Maps
maxZoom : 22,
minZoom : 1
});
// setting open layer settings
openLayersMapDiv = document.getElementById('openLayersMap');
var map = new ol.Map({
controls : ol.control.defaults().extend([ new ol.control.ScaleLine({
unit : 'degrees',
}) ]),
interactions : ol.interaction.defaults({
altShiftDragRotate : false,
dragPan : false,
rotate : false,
pinchRotate : false,
mouseWheelZoom:false
}).extend([ new ol.interaction.DragPan({
kinetic : null
}) ]),
target : openLayersMapDiv,
view : openLayersView
});
我已经看到这个问题:https://code.google.com/p/gmaps-api-issues/issues/detail?id=5209 并尝试启用 draggable
但没有成功。
我正在使用 google 地图 API 3.2 和 openlayers 3.0.0。
我已经调查了这个问题。双指缩放时,googleMap.getZoom()
得到的缩放值未定义。
问题是在 google 地图上调用 panTo
而不是我使用 setCenter()
.
openLayersView.on('change:center', function() {
var center = ol.proj.transform(openLayersView.getCenter(), EPSG_3857, EPSG_4326);
//googleMap.panTo(new google.maps.LatLng(center[1], center[0])); <-- causes the exception
googleMap.setCenter(new google.maps.LatLng(center[1], center[0]));
});
我正在使用带有 google 地图的 openlayers 3。在移动设备上缩放时,地图停止工作并抛出异常:
Uncaught TypeError: Cannot read property 'x' of undefined
var googleMapOptions = {
disableDefaultUI : true,
keyboardShortcuts : false,
draggable : false,
disableDoubleClickZoom : true,
scrollwheel : false,
streetViewControl : false
};
googleMapDiv = document.getElementById('googleMap');
var googleMap = new google.maps.Map(googleMapDiv, googleMapOptions);
openLayersView = new ol.View({
// Do NOT go beyond the 22 zoom levels of Google Maps
maxZoom : 22,
minZoom : 1
});
// setting open layer settings
openLayersMapDiv = document.getElementById('openLayersMap');
var map = new ol.Map({
controls : ol.control.defaults().extend([ new ol.control.ScaleLine({
unit : 'degrees',
}) ]),
interactions : ol.interaction.defaults({
altShiftDragRotate : false,
dragPan : false,
rotate : false,
pinchRotate : false,
mouseWheelZoom:false
}).extend([ new ol.interaction.DragPan({
kinetic : null
}) ]),
target : openLayersMapDiv,
view : openLayersView
});
我已经看到这个问题:https://code.google.com/p/gmaps-api-issues/issues/detail?id=5209 并尝试启用 draggable
但没有成功。
我正在使用 google 地图 API 3.2 和 openlayers 3.0.0。
我已经调查了这个问题。双指缩放时,googleMap.getZoom()
得到的缩放值未定义。
问题是在 google 地图上调用 panTo
而不是我使用 setCenter()
.
openLayersView.on('change:center', function() {
var center = ol.proj.transform(openLayersView.getCenter(), EPSG_3857, EPSG_4326);
//googleMap.panTo(new google.maps.LatLng(center[1], center[0])); <-- causes the exception
googleMap.setCenter(new google.maps.LatLng(center[1], center[0]));
});