-1
我已经为我的谷歌地图下面的代码对象:谷歌地图resize在不居中
geocoder.geocode({ 'address': googleAddress}, function (results, status){
if (status == google.maps.GeocoderStatus.OK) {
var mapOptions = { zoom: 16, center:results[0].geometry.location, mapTypeId:google.maps.MapTypeId.ROADMAP}
map = new google.maps.Map(element[0], mapOptions);
var marker1 = new google.maps.Marker({
position: results[0].geometry.location,
map: map,
title: googleAddress
});
google.maps.event.addDomListener(window, "resize", function() {
google.maps.event.trigger(map, "resize");
map.setCenter(results[0].geometry.location);
});
}
})
此元素的“显示:无”里面开始的div,所以当我火了点击事件,打开了DIV,我也火了窗口事件“调整大小”(加载整个地图...你可以阅读关于为什么要解雇调整大小别处这些问题):
showMap = function(){
if ($('#map').hasClass('hide')){
$('#map').removeClass('hide');
$window.dispatchEvent(new Event('resize'));
}
else{
$('#map').addClass('hide');
}
};
以此为据可以作为显示在地图上完整的div,问题是我的中心是错误的。我有一个标记位于传入的地址(已验证标记位于正确的位置),但标记离开了屏幕(刚刚离开左上角)。如果缩小一次点击,标记就在左上角。
我也都试过(没有运气)
google.maps.event.addDomListener(window, "resize", function() {
var center = map.getCenter();
map.setCenter(center);
});
请提供证明此问题的[最小,完整,测试和可读示例](http://stackoverflow.com/help/mcve)。 – geocodezip