我的页面中有一个Google地图(V3),页面宽度为100%,中间有一个标记.当我调整浏览器窗口的宽度时,我希望地图保持居中(响应).现在地图只停留在页面的左侧并变小.
更新完全按照duncan所描述的方式工作.这是最终的代码:
var center;
function calculateCenter() {
center = map.getCenter();
}
google.maps.event.addDomListener(map, 'idle', function() {
calculateCenter();
});
google.maps.event.addDomListener(window, 'resize', function() {
map.setCenter(center);
});
Run Code Online (Sandbox Code Playgroud) 如何从代码中制作响应式谷歌地图
<div class="map">
<iframe>...</iframe>
</div>
Run Code Online (Sandbox Code Playgroud)
我在css中使用完整的地图
.map{max-width:100%;}
Run Code Online (Sandbox Code Playgroud)
和小设备
.map{max-width:40%;}
Run Code Online (Sandbox Code Playgroud)
但它不起作用.
有人有想法吗?谢谢.
按照我之前的问题谷歌地图响应调整大小我想基于Windows调整大小实现不同的缩放级别,同时调整大小,所以如果浏览器窗口"小于"应用x数量的缩放,如果"主要比"应用另一个缩放级别自动和即时.
以下代码完美地适用于在Windows调整大小上重新定位地图,我需要将新的缩放级别应用于它:
var map;
function initialize() {
var mapOptions = {
center: new google.maps.LatLng(40.5472,12.282715),
zoom: 6,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById("map-canvas"),
mapOptions);
}
google.maps.event.addDomListener(window, 'load', initialize);
google.maps.event.addDomListener(window, "resize", function() {
var center = map.getCenter();
google.maps.event.trigger(map, "resize");
map.setCenter(center);
map.setZoom(zoom level needs to be automatically set according to window size);
});
Run Code Online (Sandbox Code Playgroud) 我正在尝试让Google地图在响应时调整其中心位置.
我已经设法将地图放到中心,但无法弄清楚如何将我的标记添加回JS以使其成为中心.我正在使用此处的代码进行地图居中... 谷歌地图响应调整大小
var map; //<-- This is now available to both event listeners and the initialize() function
function initialize() {
var mapOptions = {
center: new google.maps.LatLng(LAT,LNG),
zoom: 10,
mapTypeId: google.maps.MapTypeId.ROADMAP,
mapTypeControl: false,
scrollwheel: false,
keyboardShortcuts: false,
};
map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions);}
google.maps.event.addDomListener(window, 'load', initialize);
google.maps.event.addDomListener(window, "resize", function() {
var center = map.getCenter();
google.maps.event.trigger(map, "resize");
map.setCenter(center);
});
Run Code Online (Sandbox Code Playgroud)
我用来使地图居中的代码在上面.我也有下面的标记代码,但我不知道如何添加它以使其保持其中心.
var marker = new google.maps.Marker({
position: new google.maps.LatLng(LAT,LNG),
map: map,
title: 'Title',
animation: google.maps.Animation.DROP,
})
}
Run Code Online (Sandbox Code Playgroud)
任何人都可以帮忙吗?