Javascript 谷歌地图看起来在div中移动了
我在谷歌地图上遇到了问题。我将mapsjs加载到一个文件中,在其中使用ajax和jquery附加一个modal div,其中包含映射。下面的图片就是我得到的: 但是,当我关闭移除div的modal并因此移除map并再次尝试打开它时,出现了一个问题: 除了看起来不完整之外,它看起来像是maps认为它的左上角是div之外的一些像素。我向您保证这一点,因为当我尝试移动地图时,它会刷新其内容,并删除不可见和不幸可见的部分,在本例中是地图的一部分。我在这里留下了我用来显示地图的代码,尽管它非常简单Javascript 谷歌地图看起来在div中移动了,javascript,jquery,google-maps,google-maps-api-3,Javascript,Jquery,Google Maps,Google Maps Api 3,我在谷歌地图上遇到了问题。我将mapsjs加载到一个文件中,在其中使用ajax和jquery附加一个modal div,其中包含映射。下面的图片就是我得到的: 但是,当我关闭移除div的modal并因此移除map并再次尝试打开它时,出现了一个问题: 除了看起来不完整之外,它看起来像是maps认为它的左上角是div之外的一些像素。我向您保证这一点,因为当我尝试移动地图时,它会刷新其内容,并删除不可见和不幸可见的部分,在本例中是地图的一部分。我在这里留下了我用来显示地图的代码,尽管它非常简单 var
var marker = null, geocoder, latLng, map = null;
geocoder = new google.maps.Geocoder();
latLng = new google.maps.LatLng(41.3865, 2.1648);
var myOptions = {
zoom: 16,
center: latLng,
mapTypeId: google.maps.MapTypeId.ROADMAP,
disableDefaultUI: false
};
if(map === null) {
map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
}
function clearOverlays() {
if (marker !== null) {
marker.setMap(null);
marker = null;
}
}
function getPosition(address, title) {
clearOverlays();
geocoder.geocode({
address : address,
region : 'es'
},
function (results, status) {
if (status === google.maps.GeocoderStatus.OK) {
var result = results[0];
latLng = result.geometry.location
marker = new google.maps.Marker({
'title': title,
'map': map,
'position': latLng,
'animation': google.maps.Animation.DROP
});
map.setCenter(latLng);
}
}
);
}
getPosition(place.address, place.title);
在本例中,我们假设place是一个包含地址和标题的对象,版本2有一个复选框Resize,我记得在这样的情况下使用它,地图会移动中心点。我认为v3的等价物是这样的:
google.maps.event.triggermap,“调整大小” 版本2有一个checkresize,我记得在这样的情况下使用它,地图会移动中心点。我认为v3的等价物是这样的:
google.maps.event.triggermap,“调整大小” 请包括创建map_canvas div的代码,以及可能影响它的css。请包括创建map_canvas div的代码,以及可能影响它的css。嗯,我不知道怎么做,但它工作起来很有魅力。我在setCenter之前添加了这条线,让maps readapt,然后将标记居中,否则它将填充div,但标记不会居中。不管怎么说,我不得不删除掉动画,因为它引起了一些奇怪的效果,我不知道怎么做,但它就像一个魔咒。我在setCenter之前添加了这条线,让maps readapt,然后将标记居中,否则它将填充div,但标记不会居中。无论如何,我必须删除掉掉动画,因为它造成了一些奇怪的效果