Rotem Levi
- Forum posts: 1
Dec 23, 2012, 5:24:50 PM via Website
Dec 23, 2012 5:24:50 PM via Website
I have 2 divs, one is always hidden. When the user clicks on the map
button that on the navigation bar the direction div his displayed and
the map div is hidden after a route has been selected and the user
returns to the map div in my android motorola razor only a part of
the map appears only when the phone his being tilt then the map
refreshed and appears normally. and on ipone ios 5 nothing appears.
anyone can tell me what i`m doing wrong?
[code]
<!DOCTYPE html>
<html>
<head>
<title>Simple V3 Map for Android</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<script type="text/javascript">
var map;
var directionsDisplay = new google.maps.DirectionsRenderer();
var directionsService = new google.maps.DirectionsService();
var Mylocation;
var TRAVEL_MODE="DRIVING";
var Endcounter=0;
function requestHandler(centerAt,latitude,longitude,calcRoute,start,end,waypts)
{
if (centerAt==true)
{
if (latitude && longitude)
centerAt(latitude, longitude);
}
if (calcRoute==true)
{
if (start && end && waypts)
calcRoute(start,end,waypts);
}
}
function initialize()
{
var width = (parseInt($(window).width())) ;
var height = (parseInt($(window).height())) ;
var header_height= $("#indexPage").find('[data-role="header"]').outerHeight();
var footer_height=$("#indexPage").find('[data-role="footer"]').outerHeight();
var height = ($(window).height() - header_height); //-footer_height);
$("#map_canvas").width(width).height(height);
Mylocation= new google.maps.LatLng(41.850032,-87.6500532);
var myOptions = {
zoom: 8,
center: Mylocation,
panControl:false,
streetViewControl:false,
disableDefaultUI:true,
zoomControl:false,
zoomControlOptions:{position: google.maps.ControlPosition.BOTTOM_LEFT,style: google.maps.ZoomControlStyle.SMALL},
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
directionsDisplay.setMap(map);
directionsDisplay.setPanel(document.getElementById('directionsPanel'));
var start = document.getElementById('start');
var end = document.getElementById('end');
var autocompleteStart = new google.maps.places.Autocomplete(start);
var autocompleteEnd = new google.maps.places.Autocomplete(end);
$(directionsPanel).hide(); // hide the direction panel at the begining
$(DRIVING).bind('click', function() {
TRAVEL_MODE="DRIVING";
});
$(TRANSIT).bind('click', function() {
TRAVEL_MODE="TRANSIT";
});
$(WALKING).bind('click', function() {
TRAVEL_MODE="WALKING";
});
$(BICYCLING).bind('click', function() {
TRAVEL_MODE="BICYCLING";
});
$(map_butt).bind('click', function() {
$(map_canvas).show();
map.setZoom(12);
$(directionsPanel).hide();
});
$(direction_butt).bind('click', function() {
$(map_canvas).hide();
$(directionsPanel).show();
});
$(Add_Destination).bind('click', function() {
myClone = $(end).clone();
Endcounter++;
myClone.attr("id", "end" + Endcounter);
myClone.attr("value", "");
$(Destination).append(myClone); // append the input to Destination div
$(end1).css("background-color","#FF0");
var g = document.getElementById('end' + Endcounter);
$('end'+Endcounter).wrap('<div class="imageInputWrapper"></div>');
var autocompleteEnd = new google.maps.places.Autocomplete(g);
});
}
function computeTotalDistance(result)
{
var total = 0;
var myroute = result.routes[0];
for (i = 0; i < myroute.legs.length; i++)
{
total += myroute.legs[i].distance.value;
}
total = total / 1000.
document.getElementById('total').innerHTML = total + ' km';
}
var fun1 = function() {computeTotalDistance(directionsDisplay.directions);}
google.maps.event.addListener(directionsDisplay, 'directions_changed', fun1);
google.maps.event.addDomListener(window, 'load', initialize);
function centerAt(latitude, longitude)
{
myLatlng = new google.maps.LatLng(latitude,longitude);
map.panTo(myLatlng);
}
function calcRoute(start,end,waypts)
{
var waypts = [];
var checkboxArray = document.getElementById('waypoints');
for (var i = 0; i < checkboxArray.length; i++)
{
if (checkboxArray.options[i].selected == true)
{
waypts.push({location:checkboxArray[i].value,stopover:true});
}
}
var request = {
origin: start,
destination: end,
waypoints: waypts,
optimizeWaypoints: true,
travelMode: google.maps.DirectionsTravelMode[TRAVEL_MODE]
};}
function calcRoute() {
var start = document.getElementById('start').value;
var end = document.getElementById('end').value;
var waypts = [];
for (var i = 1; i <= Endcounter ; i++)
{
var temp = document.getElementById("end"+i).value;
if (temp!="")
{
waypts.push({location:temp,stopover:true});
}
}
var request = {
origin: start,
destination: end,
waypoints: waypts,
optimizeWaypoints: true,
travelMode: google.maps.DirectionsTravelMode[TRAVEL_MODE]
};
directionsService.route(request, function(response, status) {
if (status == google.maps.DirectionsStatus.OK) {
directionsDisplay.setDirections(response);
}
});
}
</script>
<style>
/* custom icons */
.ui-icon-DRIVING{background: url(graphics/DRIVING.png) 50% 50% no-repeat; background-size: 40px 27px;}
.ui-icon-TRANSIT{background: url(graphics/TRANSIT.png) 50% 50% no-repeat; background-size: 40px 27px;}
.ui-icon-WALKING{background: url(graphics/WALKING.png) 50% 50% no-repeat; background-size: 40px 27px;}
.ui-icon-BICYCLING{background: url(graphics/BICYCLING.png) 50% 50% no-repeat; background-size: 40px 27px;}
.ui-icon-MAP{background: url(graphics/map-icon.png) 50% 50% no-repeat; background-size: 16px 16px;}
.ui-icon-DIRECTION{background: url(graphics/instructions-icon.png)) 50% 50% no-repeat; background-size: 16px 16px;}
.imageInputWrapper {
background-color339;
cursor:pointer;
}
.ui-header .ui-title { margin-right:20px; margin-left:20px; }
.ui-footer .ui-title { margin-right:20px; margin-left:20px; white-space:normal; }
.ui-btn-inner { padding: .6em 7px; }
.ui-body-e { border: 1px solid #66eedd; color: #222222; text-shadow: 0 0px 0 #fff; background: #c2e4d2; }
#page-map, #content, #map_canvas { width: 100%; height: 100%; padding: 0; }
#map_canvas { min-height: 100%; }
.fading-msg {
padding: .6em; text-shadow: none; text-align: center; margin: 120px auto; font-weight: bold;
border: 0; max-width: 260px; min-width: 110px;
}
</style>
</head>
<body>
<div data-role="page" data-position="fixed" id="page-map">
<div data-role="header" data-fullscreen="true" data-position="fixed" >
<div id="map_navbar" data-role="navbar">
<ul>
<li><a id="map_butt" data-icon="MAP">map</a></li>
<li><a id="direction_butt" data-icon="DIRECTION">direction</a></li>
<li><a href="#" data-icon="" data-transition="pop">Three</a></li>
</ul>
</div>
</div>
<div data-role="content">
<div id="map_canvas" ></div>
<div id="control_panel"></div>
<div id="directionsPanel" style="width:100%;height:100%" >
<div> Total Distance: <p id="total"></p></div>
<input id="start" placeholder="הכנס כתובת התחלה" type="text" >
<input id="end" placeholder="הכנס כתובת יעד" type="text" >
<div id="Destination"> </div>
<a href="#" id="Add_Destination">הוסף יעד</a>
<div data-role="controlgroup" data-type="horizontal">
<a data-role="button" id="DRIVING" data-icon="DRIVING" data-iconpos="notext">Delete</a>
<a data-role="button" id="TRANSIT" data-icon="TRANSIT" data-iconpos="notext">Delete</a>
<a data-role="button" id="WALKING" data-icon="WALKING" data-iconpos="notext">Delete</a>
<a data-role="button" id="BICYCLING" data-icon="BICYCLING" data-iconpos="notext">Delete</a>
</div>
<br>
<br>
<input type="button" onClick="calcRoute();">
</div>
</div>
</div>
</body>
</html>
[/code]
Recommended editorial content
With your consent, external content is loaded here.
By clicking on the button above, you agree that external content may be displayed to you. Personal data may be transmitted to third-party providers in the process. You can find more information about this in our Privacy Policy.