Il codice seguente mostra uno strano output. Dovrei vedere una mappa mobile a schermo intero. Ma per qualche ragione mostra solo una parte dello schermo. Sto usando jquery.ui.map per la mapping.
My Page My Title
$('#map_canvas').gmap().bind('init', function() { // This URL won't work on your localhost, so you need to change it // see http://en.wikipedia.org/wiki/Same_origin_policy $.getJSON( 'http://jquery-ui-map.googlecode.com/svn/trunk/demos/json/demo.json', function(data) { $.each( data.markers, function(i, marker) { $('#map_canvas').gmap('addMarker', { 'position': new google.maps.LatLng(marker.latitude, marker.longitude), 'bounds': true }).click(function() { $('#map_canvas').gmap('openInfoWindow', { 'content': marker.content }, this); }); }); }); });
Produzione:
Grazie in anticipo.
La soluzione per il mio sito web mobile era di impostare la position:absolute; width:100%; height:100%;
stili position:absolute; width:100%; height:100%;
position:absolute; width:100%; height:100%;
per il div di canvas Puoi usare gli stili top
e bottom
per lasciare spazio alle barre degli strumenti.
Intestazione e piè di pagina sono inevitabili se si utilizza jQuery. Ho impostato {data-position="fixed" data-fullscreen="true"}
sia per l’intestazione che per il piè di pagina e ho impostato html { height: 100% } body { height: 100%; margin: 0; } #map { position:absolute; width: 100%; height: 100%; padding: 0; }
html { height: 100% } body { height: 100%; margin: 0; } #map { position:absolute; width: 100%; height: 100%; padding: 0; }
html { height: 100% } body { height: 100%; margin: 0; } #map { position:absolute; width: 100%; height: 100%; padding: 0; }
, così che sia il menu che la mappa funzionano perfettamente insieme sul dispositivo mobile.
La canvas del contenitore e della mappa deve essere al 100% di larghezza e altezza.
La loro struttura dal sito mobile di jQuery è:
Maps
E il CSS:
#map-page, #map-canvas { width: 100%; height: 100%; padding: 0; }
Da qui: http://view.jquerymobile.com/master/demos/examples/maps/geolocation.php
Ho lavorato un po ‘con questo e sono riuscito a trovare la soluzione perfetta. Si rivolge a pagine con o senza intestazione. Posizionerà la mappa perfettamente nello spazio tra l’intestazione e il fondo della pagina (o sull’intera pagina se non è presente un’intestazione), per qualsiasi risoluzione e qualsiasi altezza di intestazione.
Questa soluzione richiede sia CSS che JS se la pagina ha un’intestazione e CSS solo se la pagina non ha un’intestazione.
HTML
CSS
#map-canvas { position: absolute; width: 100%; height: 100%; top: 0; left: 0; } /* eliminates scrollbars in map infowindow (optional) */ #mappopup { line-height: 1.35; overflow: hidden; white-space: nowrap; }
JS
var mapPageHeader = $("#mapPage .ui-header").eq(0); if(mapPageHeader.length > 0) { var headerHeight = mapPageHeader.outerHeight(); $("#map-canvas").css({ 'height': ($(window).height() - headerHeight + 1) + 'px', 'top': headerHeight - 1 }); }