Google Maps JavaScript API V3 サイトから基本的なマップのデモを取得し、「testnav.htm」というページに配置しました。JQM を使用してこのページをダイアログとして開こうとしていますが、ダイアログが正しく表示されません。私が得るのはダイアログヘッダーだけです。私の testnav.htm は次のようになります。
<!DOCTYPE html>
<html>
<head>
<title>Simple Map</title>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no">
<meta charset="utf-8">
<style>
html, body, #map-canvas {
margin: 0;
padding: 0;
height: 200px;
width: 400px;
}
</style>
<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false"></script>
<script>
var map;
function initialize() {
var mapOptions = {
zoom: 8,
center: new google.maps.LatLng(-34.397, 150.644),
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById('map-canvas'),
mapOptions);
}
console.log('here');
google.maps.event.addDomListener(window, 'load', initialize);
</script>
</head>
<body>
<div data-role="dialog">
<div data-role="header" data-theme="d">
<h1>Map</h1>
</div>
<div data-role="content" data-theme="c">
<div id="map-canvas"></div>
</div>
</div>
</body>
</html>
そして、私はそれを次のように呼んでいます:
<a href="testnav.htm" data-rel="dialog">View On Map</a>
地図キャンバスが表示されないのはなぜですか?
更新オマールのアドバイスに従って、これは私が現在実行しているコードです....
<!DOCTYPE html>
<html>
<head>
<title>Simple Map</title>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no">
<meta charset="utf-8">
</head>
<body>
<div data-role="dialog">
<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false"></script>
<script>
$(document).on('pageshow', '[data-role=dialog]', function () {;
var map;
var mapOptions = {
zoom: 8,
center: new google.maps.LatLng(-34.397, 150.644),
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById('map-canvas'),
mapOptions);
console.log('end');
});
</script>
<div data-role="header" data-theme="d">
<h1>Map</h1>
</div>
<div data-role="content" data-theme="c">
<div id="map-canvas" ></div>
</div>
</div>
</body>
しかし、どこに追加すればよいかわかりませんgoogle.maps.event.addDomListener(window, 'load', initialize);