Jquery mobile and Google maps [on hold]
- by Jack
I have been trying to get my google maps to display within a page of a mobile app. The map will display for a second, and then disappear. I have read about a jquery bug,  but i can't seem to find a way to get this code to work. any help would be greatly appreciated.
        <script>
        var geocoder;
        var currentLocation;
        var searchResults;
        var map;
        var directionsDisplay;
        var directionsService;
        function init(){
            geocoder = new google.maps.Geocoder();
            if (navigator.geolocation){
                navigator.geolocation.watchPosition(showLocation, locationError);
            }
            else {
                alert("Geolocation not supported on this device");
                return;
            }                   
        }//init function
        function showLocation(location){//start showlocation
            currentLocation = new google.maps.LatLng(location.coords.latitude, location.coords.longitude);
            $('#lat').attr("value", currentLocation.lat());
            $('#lng').attr("value", currentLocation.lng());
            geocoder = new google.maps.Geocoder();
            geocoder.geocode({'latLng': currentLocation}, function(results, status){
                if (status == google.maps.GeocoderStatus.OK){
                    if (results[0]){
                        var address = results[0].formatted_address;
                        $('#loc').html(results[0].formatted_address);
                        var info = "Latitude: " + location.coords.latitude + " Longitude: " + location.coords.longitude + "<br />";
                        info += "Location accurate within " + location.coords.accuracy + " meters <br /> Last Update: " + new Date(location.timestamp).toLocaleString();
                        $('#acc').html(info);
                        $('#address').attr("value", results[0].formatted_address);
                    }else{
                        alert('No results found');
                    }//end else
                     //if(!map) initMap();
                }else {
                    $('#loc').html('Geocoder failed due to: ' + status);
                }//end else
            });//end of function
            if (!map) initMap();                
        }//end showlocation function
         function locationError(error){
            switch(error.code) {
                case error.PERMISSION_DENIED:
                    alert("Geolocation access denied or disabled. To enable geolocation on your iPhone, go to Settings > General> Location Services");
                    break;
                case error.POSITION_UNAVAILABLE:
                    alert("Current location not available");
                    break;
                case error.TIMEOUT:
                    alert("Timeout");
                    break;
                default:
                    alert("unkown error");
                    break;
            }//endswitch
        }//endlocationerror
        function initMap(){         
            var mapOptions = {
                zoom: 14,
                mapTypeId: google.maps.MapTypeId.ROADMAP,
                center: currentLocation
            };//var mapOptions
            map = new google.maps.Map(document.getElementById('mapDiv'), mapOptions);
            google.maps.event.trigger(map, 'resize');
            var bounds = new google.maps.LatLngBounds();
            bounds.extend(currentLocation);
            map.fitBounds(bounds);
            //new code
            //var center;
            //function calculateCenter(){
                //center = map.getCenter();
            //}
            //google.maps.even.addDomListener(map, 'idle', function(){
                //calculateCenter();
            //});
            //google.maps.even.addListenerOnce(map, 'idle', function(){
                //google.maps.even.trigger(map,'resize');
            //});
            //google.maps.event.addDomListener(window, 'resize', function() {
            //map.setCenter(center);
            //});//end new code
        }//end initMap()
//-------------------------------------------------------------------------------
        $(document).on("pageinit", init);