Google 地图未在 jquery 移动设备中加载
Google map didn't load in jquery mobile
我不知道为什么当我尝试在我的应用程序上显示地图时它不起作用..只是灰色,但是当我 运行 它在 Jsfiddle 上时,一切都很好。我认为这是关于 pageshow,如果我将其更改为 pageinit,则地图未完全加载并且我已将所有高度和宽度更改为 100% 但仍未完全加载..
<html lang="en">
<head>
<title>Maps</title>
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.css" />
<script src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
<script src="http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.js"></script>
<script type="text/javascript" src="http://maps.google.com/maps/api/js?v=3&sensor=false&language=en"> </script>
<script type="text/javascript">
var map;
function initialize()
{
map = new google.maps.Map(document.getElementById('map_canvas'), {
zoom: 7,
center: new google.maps.LatLng(38.0457918, 23.7676337),
mapTypeId: google.maps.MapTypeId.ROADMAP
});
var currentPositionMarker = new google.maps.Marker({
position: new google.maps.LatLng(38.0457918, 23.7676337),
map: map,
title :"hei"
});
}
$(document).on("pageshow", "#basic-map", function() {
initialize();
});
</script>
</head>
<body>
<div id="basic-map" data-role="page">
<div data-role="header">
<h1><a data-ajax="false" href="/">examples</h1>
</div>
<div data-role="content">
<p>this is paragraph</p>
<ul data-role="listview" data-inset="true" data-divider-theme="b">
<li data-role="list-divider">Map</li>
<div id="map_canvas" style="height:320px;"></div>
</ul>
</div>
</div>
</body>
</html>
我确实尝试添加此代码,但是地图已完全加载但标记未居中..
$( document ).bind( "pageshow", function( event, data ){
google.maps.event.trigger(map, 'resize');
});
第二件事是标题标记没有出现。请帮助..谢谢
触发调整大小事件后重置地图的中心位置。
$( document ).bind( "pageshow", function( event, data ){
google.maps.event.trigger(map, 'resize');
map.setCenter(currentPositionMarker.getPosition());
});
(在使 currentPositionMarker
像 map
变量一样成为全局变量之后)
我不知道为什么当我尝试在我的应用程序上显示地图时它不起作用..只是灰色,但是当我 运行 它在 Jsfiddle 上时,一切都很好。我认为这是关于 pageshow,如果我将其更改为 pageinit,则地图未完全加载并且我已将所有高度和宽度更改为 100% 但仍未完全加载..
<html lang="en">
<head>
<title>Maps</title>
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.css" />
<script src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
<script src="http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.js"></script>
<script type="text/javascript" src="http://maps.google.com/maps/api/js?v=3&sensor=false&language=en"> </script>
<script type="text/javascript">
var map;
function initialize()
{
map = new google.maps.Map(document.getElementById('map_canvas'), {
zoom: 7,
center: new google.maps.LatLng(38.0457918, 23.7676337),
mapTypeId: google.maps.MapTypeId.ROADMAP
});
var currentPositionMarker = new google.maps.Marker({
position: new google.maps.LatLng(38.0457918, 23.7676337),
map: map,
title :"hei"
});
}
$(document).on("pageshow", "#basic-map", function() {
initialize();
});
</script>
</head>
<body>
<div id="basic-map" data-role="page">
<div data-role="header">
<h1><a data-ajax="false" href="/">examples</h1>
</div>
<div data-role="content">
<p>this is paragraph</p>
<ul data-role="listview" data-inset="true" data-divider-theme="b">
<li data-role="list-divider">Map</li>
<div id="map_canvas" style="height:320px;"></div>
</ul>
</div>
</div>
</body>
</html>
我确实尝试添加此代码,但是地图已完全加载但标记未居中..
$( document ).bind( "pageshow", function( event, data ){
google.maps.event.trigger(map, 'resize');
});
第二件事是标题标记没有出现。请帮助..谢谢
触发调整大小事件后重置地图的中心位置。
$( document ).bind( "pageshow", function( event, data ){
google.maps.event.trigger(map, 'resize');
map.setCenter(currentPositionMarker.getPosition());
});
(在使 currentPositionMarker
像 map
变量一样成为全局变量之后)