Ustaw szerokość i wysokość kontenera Google Maps 100%

Załadowałem Google Maps API v3 i wydrukowałem mapę Google w div. Ale po ustawieniu width & height na 100% i auto nie widzę Mapy.

Oto fragment kodu HTML.

<!-- Maps Container -->
<div id="map_canvas" style="height:100%;width:100px;margin:0 auto;"></div>

Czy istnieje sposób, aby rozwiązać ten problem?

Author: Madan Sapkota, 2012-04-18

10 answers

Musisz ustawić wszystkie kontenery nadrzędne na 100% szerokości, jeśli chcesz pokryć nią całą stronę. Musisz przynajmniej ustawić wartość bezwzględną szerokości i wysokości Dla # content div.

body, html {
  height: 100%;
  width: 100%;
}

div#content {
  width: 100%; height: 100%;
}
 58
Author: Machiel,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-04-18 13:14:46

Ustawienie kontenera mapy na pozycję względną załatwi sprawę. Oto HTML .

<body>
    <!-- Map container -->
    <div id="map_canvas"></div>
</body>

I proste CSS .

<style>
html, body, #map_canvas {
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
}
#map_canvas {
    position: relative;
}
</style>

Testowane na wszystkich przeglądarkach. Oto zrzut ekranu .

Tutaj wpisz opis obrazka

 37
Author: Madan Sapkota,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-08-09 12:56:32

Bardzo niewiele osób zdaje sobie sprawę z potęgi pozycjonowania css. Aby ustawić mapę tak, aby zajmowała 100% wysokości kontenera nadrzędnego, wykonaj następujące czynności:

#map_canvas_container {position: relative;}

#map_canvas {position: absolute; top: 0; right: 0; bottom: 0; left: 0;}

Jeśli w #map_canvas_container znajdują się jakieś elementy, które nie są absolutnie umieszczone, ustawią ich wysokość, a Mapa zajmie dokładną dostępną przestrzeń.

 34
Author: YaroslavS120,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-10-08 14:58:23

Możesz ustawić wysokość na-webkit-fill-available

<!-- Maps Container -->
<div id="map_canvas" style="height:-webkit-fill-available;width:100px;"></div>
 1
Author: Naresh Chennuri,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-08-30 09:26:22

To mi pasuje.

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<style type="text/css"> 

#cont{
    position: relative;
    width: 300px;
    height: 300px;
}
#map_canvas{
    overflow: hidden;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}
</style> 
<script type="text/javascript" src="http://maps.google.com/maps/api/js?key=APIKEY"></script>
<script type="text/javascript">
function initialize() {
    console.log("Initializing...");
  var latlng = new google.maps.LatLng(LAT, LNG);
    var myOptions = {
      zoom: 10,
      center: latlng,
      mapTypeId: google.maps.MapTypeId.ROADMAP
    };
    var map = new google.maps.Map(document.getElementById("map_canvas"),
        myOptions);
}
</script>
</head>

<body onload="initialize()">
<div id="cont">
<div id="map_canvas" style="width: 100%; height: 100%;"></div>
</div>
</body>
</html>
 1
Author: Mostafa,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-01-03 08:02:57

Gmap Zapisuje pozycję stylu inline względem div. Zastąp to przez:

google.maps.event.addListener(map, 'tilesloaded', function(){
    document.getElementById('maps').style.position = 'static';
    document.getElementById('maps').style.background = 'none';
});
Mam nadzieję, że to pomoże.
 0
Author: abhilashv,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-02-18 11:01:11

Jeśli to {[1] } jest jedyną rzeczą na twojej stronie, ustaw:

body, html {
  height: 100%;
  width: 100%;
}
 -3
Author: Juan G. Hurtado,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-04-18 12:54:17

Bardzo starałem się znaleźć odpowiedź.

Nie musisz nic robić z wielkością ciała. Wszystko, czego potrzebujesz, aby usunąć styl inline z kodu Mapy:
<iframe width="425" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="https://maps.google.co.uk/maps?f=q&amp;source=s_q&amp;hl=en&amp;geocode=&amp;q=new+york&amp;aq=&amp;sll=53.546224,-2.106543&amp;sspn=0.02453,0.084543&amp;ie=UTF8&amp;hq=&amp;hnear=New+York,+United+States&amp;t=m&amp;z=10&amp;iwloc=A&amp;output=embed"></iframe><br /><small><a href="https://maps.google.co.uk/maps?f=q&amp;source=embed&amp;hl=en&amp;geocode=&amp;q=new+york&amp;aq=&amp;sll=53.546224,-2.106543&amp;sspn=0.02453,0.084543&amp;ie=UTF8&amp;hq=&amp;hnear=New+York,+United+States&amp;t=m&amp;z=10&amp;iwloc=A" style="color:#0000FF;text-align:left">View Larger Map</a></small>

Usuń Cały styl inline i Dodaj klasę lub ID, a następnie styluj go tak, jak chcesz.

 -3
Author: Andy,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-10-01 13:24:19

To mi pomogło.

Map_canvas {position: absolute; top: 0; right: 0; bottom: 0; left: 0;}

 -5
Author: Vilas Chavan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-09-14 07:56:32

Właśnie dodałem styl inline .
<div id="map_canvas" style="width:750px;height:484px;"></div>
I zadziałało na mnie .

 -6
Author: Nikhil_K_R,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-11-11 09:45:37