#html #css #google-maps
#HTML #css #google-карты
Вопрос:
У меня есть карта Google, на которой есть блок содержимого поверх laiyng, и это то, что мне нужно.
Мне нужно иметь возможность добавлять дополнительный контент под картой Google .. но я не могу понять, как заставить текущий контейнер div располагаться под картой.
Я пытался установить положение на статическое, но оно не работает?
Ниже приведен мой codepen :-
http://codepen.io/dyk3r5/pen/LRmWbq
HTML.
<div id="content">
<iframe id="gmap" width="600" height="450" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.com/?ie=UTF8amp;amp;ll=55.886721,-4.33651amp;amp;spn=0.011553,0.027466amp;amp;z=15amp;amp;output=embed"></iframe>
<div class="container overlap">
<h1>Content</h1>
</div>
</div>
<div class="moreContent">
<p>I would like to sit below the google map!</p>
<div>
CSS.
#gmap {
position:absolute;top:0;left:0;z-index:1;
}
.overlap{
position: relative;
z-index:2;
background: white;
height : 200px;
width : 200px;
margin-top: 100px;
}
.moreContent{
/* How doi position this container? */
}
Комментарии:
1. Этот div находится под картой в Firefox и Chrome на моем компьютере.
Ответ №1:
Вы можете сделать это
.moreContent{
position:absolute;
top:450px
}
но лучшим решением будет не использовать position:absolute;
#gmap
элемент.
Кроме того, вы используете an iframe
для встраивания карты на свою страницу, лучшим решением будет использовать для этого JavaScript API Google Maps.
Вот как я это сделаю:
#map{
width: 600px;
height: 450px;
}
.overlap{
position:absolute;
top:100px;
z-index:2;
background: white;
height : 200px;
width : 200px;
}
<!DOCTYPE html>
<html>
<body>
<div id="map"></div>
<div class="container overlap">
<h1>Content</h1>
</div>
<div class="moreContent">
<p>I would like to sit below the google map!</p>
<div>
<script>
var map;
function initMap() {
map = new google.maps.Map(document.getElementById('map'), {
center: {lat: 55.886721, lng:-4.33651},
zoom: 15
});
}
</script>
<script src="https://maps.googleapis.com/maps/api/js?callback=initMap"
async defer></script>
</body>
</html>
Если вы используете JavaScript API Карт Google, вы можете добавлять элементы на карту, создавая пользовательские элементы управления. Подробнее об этом здесь: https://developers.google.com/maps/documentation/javascript/controls#CustomControls
Комментарии:
1. Iframe был предназначен только для codepen, я использую Google api в моем реальном решении. Спасибо за это, я попробую.