Hi. i think i found a solution. There is a constant class name into collapsible set elements headers called "ui-collapsible-heading" i've bound a "click" event to it. When you click the heading, it setups google map with no errors. Sorry if i couldnt explain it clearly, i'm not very good at english :) i've shared sample code to explain it clearly. You can save the codes into a document and test it.
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
- <title></title>
-
- <link rel="stylesheet" href="http://code.jquery.com/mobile/1.1.0/jquery.mobile-1.1.0.min.css" />
- <script src="http://code.jquery.com/jquery-1.7.1.min.js"></script>
- <script src="http://code.jquery.com/mobile/1.1.0/jquery.mobile-1.1.0.min.js"></script>
- <script src="http://maps.google.com/maps/api/js?sensor=true&language=tr"></script>
- <script>
- $(document).bind("mobileinit", function(){
- $.mobile.ajaxEnabled = false;
- });
-
- $(Start);
-
- function Start()
- {
- $(".ui-collapsible-heading").live("click", function(){
- var latlng = new google.maps.LatLng(41.011333, 29.038357);
- var myOptions = {zoom: 8,center: latlng,mapTypeId: google.maps.MapTypeId.ROADMAP};
- var map = new google.maps.Map(document.getElementById("googleMap"),myOptions);
- var marker = new google.maps.Marker({position: latlng,title: "My Google Map"});
-
- marker.setMap(map);
- });
- }
- </script>
- </head>
- <body>
- <div data-role="page">
- <div data-role="content">
- <div data-role="collapsible-set">
- <div data-role='collapsible' data-collapsed=true data-theme='d'>
- <h1>Collapsible</h1>
- <div id="googleMap" style="width:100%; height:300px;"></div>
- </div>
- </div>
- </div>
- </div>
- </body>
- </html>