问题
I'm having problems in loading the map in iPad Landscape (in Portrait everything works fine).
EDIT: I found an issue related with the fact that the map element is "pushed" down after the directions element aparently because of a lack of space when I reduce the height. I tried to get the elements fluids but it's still pushed down.
Landscape (PROBLEM):
When I rotate the iPad to Portrait (OK):
The Code:
Script:
var _directionsService = new google.maps.DirectionsService();
var _directionsDisplay = new google.maps.DirectionsRenderer();
var _map = new google.maps.Map(document.getElementById('dtl-directions-map-canvas'));
_directionsDisplay.setMap(_map);
_directionsDisplay.setPanel(document.getElementById('dtl-directions-panel'));
var start = new google.maps.LatLng(_locationLatitude, _locationLongitude);
var end = new google.maps.LatLng(_partnerLatitude, _partnerLongitude);
var request = {
origin: start,
destination: end,
travelMode: google.maps.TravelMode.DRIVING,
provideRouteAlternatives: true
};
_directionsService.route(request, function (response, status) {
if (status == google.maps.DirectionsStatus.OK) {
_directionsDisplay.setDirections(response);
}
});
View:
<!-- Partner's directions -->
<div id="dtl-directions-ctn" class="directions-ctn">
<div class="header-ctn">
<div class="title">Direções para: </div>
<div id="dtl-directions-partner-name" class="name lp-clr-orange"></div>
<div id="dtl-directions-close-btn" class="close-ctn lp-clr-orange">X</div>
</div>
<div id="dtl-directions-panel" class="directions-panel"></div>
<div id="dtl-directions-map-canvas" class="dtl-map-ctn"></div>
</div>
CSS:
.directions-ctn {
width: 100%;
height: 100%;
background-color: #fff;
position: absolute;
margin: auto;
top: 0;
left: 0;
bottom: 0;
right: 0;
z-index: 3;
overflow: hidden;
max-width: 1024px;
max-height: 768px;
box-shadow: 0 0 17px rgba(96,96,96,0.3);
}
.directions-ctn .header-ctn {
height: 5%;
}
.directions-ctn .header-ctn .title {
float: left;
padding: 10px;
}
.directions-ctn .header-ctn .name {
float: left;
padding-top: 10px;
}
.directions-ctn .header-ctn .close-ctn {
width: 6%;
float: right;
text-align: center;
font-weight: bold;
font-size: 1.3em;
padding: 10px;
cursor: pointer;
}
.directions-ctn .directions-panel {
height: 95%;
float: right;
width: 50%;
overflow: auto;
}
.directions-ctn .directions-panel .adp-placemark {
margin: 0;
}
.directions-ctn .directions-panel .adp-placemark td {
padding: 4px;
vertical-align: middle;
}
.directions-ctn .directions-panel .adp-summary {
padding: 5px 3px 5px 5px;
}
.directions-ctn .directions-panel .adp-legal {
padding: 5px 0 5px 5px;
}
.directions-ctn .dtl-map-ctn {
width: 50%;
height: 95%;
}
.directions-ctn .directions-panel img, .directions-ctn .dtl-map-ctn img {
max-width: none; /* we need to overide the img { max-width: 100%; } to display the controls correctly */
}
The problem only happens in the iPad.
I tried in Chrome and the problem is the same, so it's not related to Safari.
In my PC everything works fine.
来源:https://stackoverflow.com/questions/30793592/google-directions-map-not-loading-on-ipad-landscape-orientation