Google Directions Map not loading on iPad Landscape orientation

252 views Asked by At

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): enter image description here

When I rotate the iPad to Portrait (OK):

enter image description here

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.

0

There are 0 answers