Css 谷歌地图api全屏
嗨,我正在做一个项目,需要一个特定的全屏谷歌地图位于页眉和页脚之间。我相信答案很简单,但我想我还是会问。该项目由一个表单组成,用户在填写完地址等后可以放置标记,但不确定是否有任何定制可能会造成干扰或发生任何事情 当我在过去使用GoogleMapAPI时,我通常只会将css高度更改为100%,但出于某种原因,它不会更改大小,而是会完全删除地图Css 谷歌地图api全屏,css,api,google-maps-api-3,Css,Api,Google Maps Api 3,嗨,我正在做一个项目,需要一个特定的全屏谷歌地图位于页眉和页脚之间。我相信答案很简单,但我想我还是会问。该项目由一个表单组成,用户在填写完地址等后可以放置标记,但不确定是否有任何定制可能会造成干扰或发生任何事情 当我在过去使用GoogleMapAPI时,我通常只会将css高度更改为100%,但出于某种原因,它不会更改大小,而是会完全删除地图 #map { height:500px; width:1200px; } 这是密码 var map; var marker; var Longitude
#map {
height:500px;
width:1200px;
}
这是密码
var map;
var marker;
var Longitude = -1.8822221000000354;
var Latitude = 50.72569620000001;
var zoom = 20;
var bounds = new google.maps.LatLngBounds();
var markers;
var new_marker;
var C;
var popupbubblepath = <%= this.popupbubble.ToString() %>;
var infowindow = new google.maps.InfoWindow();
var ib;
function LoadMap() {
// Create an array of styles.
var styles = [
{
stylers: [
{ saturation: -100 }, { lightness: -100 }
]
},{
featureType: "all",
elementType: "all",
}
];
// Create a new StyledMapType object, passing it the array of styles,
// as well as the name to be displayed on the map type control.
//var styledMap = new google.maps.StyledMapType(styles, {name: "Styled Map"});
var myOptions = {
zoom: zoom,
center: new google.maps.LatLng(Latitude, Longitude),
mapTypeControl: false,
scaleControl: false,
streetViewControl: true,
overviewMapControl: false,
zoomControl: true,
mapTypeControlOptions: {
style:google.maps.MapTypeControlStyle.DROPDOWN_MENU,
position:google.maps.ControlPosition.LEFT_BOTTOM
},
zoomControlOptions: {
style: google.maps.ZoomControlStyle.SMALL
},
panControl: false,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
map = new google.maps.Map(document.getElementById("map"), myOptions);
var映射;
var标记;
变量经度=-1.88222100000354;
变量纬度=50.7256962000001;
var zoom=20;
var bounds=new google.maps.LatLngBounds();
var标记;
var新标记;
var C;
var popupblepath=;
var infowindow=new google.maps.infowindow();
var ib;
函数LoadMap(){
//创建样式数组。
变量样式=[
{
样式:[
{饱和度:-100},{亮度:-100}
]
},{
featureType:“全部”,
元素类型:“全部”,
}
];
//创建一个新的StyledMapType对象,将样式数组传递给它,
//以及要显示在地图类型控件上的名称。
//var styledMap=new google.maps.StyledMapType(样式,{name:“Styled Map”});
变量myOptions={
缩放:缩放,
中心:新google.maps.LatLng(纬度、经度),
mapTypeControl:false,
scaleControl:false,
街景控制:对,
overviewMapControl:错误,
动物控制:对,
mapTypeControlOptions:{
样式:google.maps.MapTypeControlStyle.DROPDOWN_菜单,
位置:google.maps.ControlPosition.LEFT_底部
},
ZoomControl选项:{
样式:google.maps.ZoomControlStyle.SMALL
},
泛控制:错误,
mapTypeId:google.maps.mapTypeId.ROADMAP
}
map=新的google.maps.map(document.getElementById(“map”),myOptions);
我认为问题不在于地图,而在于包含的div。如果将div的高度设置为100%,请确保所有包含的div都定义了一个高度。通过在div周围放置一个边框可以判断这是否是问题,您可能会看到高度就是问题所在
如果您可以让我们使用它,修复起来会更容易。问题在于html而不是javascript。请尝试以下方法
<div id='wrapper'>
<div id='header'>header stuff<div>
<div id='map-canvas'></div>
<div id='footer'>footer stuff<div>
</div>
我还没有机会对此进行测试,但这应该会让您知道需要做什么。当您想要一个空的
div
占据整个屏幕的高度时,您必须定义min height
值,如下所示:
html, body {
height: 100%;
}
#map {
min-height: 100%;
}
但同样,这与“google-maps-api-3”并没有太大关系。看看这里,使用绝对定位设置上、左、下、右变量
#map-canvas{
position: absolute;
top: 100px;
left: 0;
bottom: 100px;
right: 0;
}
现在将你的窗口拖到你的心底,看着你的地图保持完整的大小。做响应性设计也很好。谷歌地图API文档:
请注意,在“怪癖”模式下工作的某些CSS在“标准”模式下无效。具体而言,所有基于百分比的大小都必须继承自父块元素,如果其中任何一个祖先未能指定大小,则假定它们的大小为0 x 0像素
你在使用iFrame吗?让我们看看你的标记。这对宽度有效,但对高度无效。一旦我将高度从像素切换到%,贴图就会消失。有什么想法吗?
#map{height:500px;width:100%;margin top:-20px;margin bottom:0px;border bottom:3px solid#FF5255;}贴图#{height:100%;width:100%;}
你确定要将html和body的高度设置为100%吗?别介意,我已经设法解决了这个问题。无论如何,谢谢你,虽然很好而且很简单-不必担心调整任何父级div
的大小规格。很好!完美的答案
#map-canvas{
position: absolute;
top: 100px;
left: 0;
bottom: 100px;
right: 0;
}