gmap3初始化操作不能正确显示地图中的地图div
问题描述:
我想我真的应该发布新问题,而不是回复封闭帖子。gmap3初始化操作不能正确显示地图中的地图div
这里我有两个地图的选项卡。一个是隐藏的。它们都开始空白并且相同,所以我使用gmap3选择器来初始化两个地图。点击这些标签就会显示相应的地图而不用重新初始化。感谢Philar和MattBall,使用调整大小修复了一个显示问题。但是,最初隐藏的地图偏离中心并处于不同的缩放级别。不知道为什么。任何人有任何想法?这是代码。
function initmap() {
// setup map and basic overlay
$('.gmap').gmap3(
{ action: 'init',
options: {
zoom: DefaultZoom,
minZoom: DefaultMinZoom,
center: mapcenter,
mapTypeId: google.maps.MapTypeId.TERRAIN,
scrollwheel: false,
rotateControl: false,
zoomControl: true,
zoomControlOptions: {
position: google.maps.ControlPosition.RIGHT_TOP,
style: "SMALL"
},
panControl: false,
panControlOptions: {
position: google.maps.ControlPosition.RIGHT_TOP,
style: "SMALL"
},
streetViewControl: false,
heading: 90
}
},
{ action: 'addGroundOverlay',
url: '../maps/assets/sectors_color.png',
bounds: [
[49.313821, -123.022082],
[49.199900, -123.264825]
],
tag: 'SectorMapOverlay'
}
);
map1 = $(mapID1).gmap3('get');
map2 = $(mapID2).gmap3('get');
$("#switchmap").click(function() {google.maps.event.trigger(map1, 'resize')});
$("#switchmap2").click(function() {google.maps.event.trigger(map2, 'resize')});
}
答
或者你也可以手动做到这一点:
map = $("#foo-map").gmap3('get');
google.maps.event.trigger(map, 'resize');
map.setZoom(map.getZoom());
map.panToBounds(map.getBounds());
+0
关于这个确切的问题有无数的帖子,但你是第一个真正帮助我解决问题的完整答案。 – 2013-10-09 21:23:51
我通过添加功能“调整大小”都在文件准备,不论其显示状态映射解决它。 – KYLO 2012-07-17 18:38:00
可否请您发布此解决方案。我有同样的问题 – 2012-12-13 18:19:37