我安装了Google Maps API V3,但是我无法让调整大小功能正常工作。我已经把脚本显示在一个分区中,当点击一个链接时它会下降,但是,它会在两侧显示灰色区域。我已经读过你需要在脚本中显示resize函数的实例,从我能理解的内容中显示除法,但是我在实现它时遇到了麻烦。
这是导致除法(class =“content”)的代码:
$(function() {
$('.action').click(function() {
var name = $(this).attr("name");
var content = $('.content[name=' + name + ']');
$('.content').not(content).hide('fast');
content.slideToggle('fast');
});
我的地图里面有一个id为“map”的div。
<div class="map">
<div id="map_canvas""></div>
</div>
我已经整晚都在网站的其他部分工作,而且目前相当分散。对不起,如果我忘记发布必要的东西来解决这个问题。
提前致谢,Bc。
答案 0 :(得分:8)
您需要在Google地图上手动调整偶数调整大小。
google.maps.event.trigger(map, 'resize')
<强>更新强>
<script type="text/javascript">
// Global Variable
var map;
// This is a global Function
function initialize()
{
// This variable is scoped only for the initialize function,
// it is not available to other functions scoped globally
var myOptions =
{
center: new google.maps.LatLng(-34.397, 150.644),
zoom: 8,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
// Instead of a function scoped map variable this should be global
map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
google.maps.event.trigger(map, 'resize')
}
</script>
然后您可以更改为以下代码:
$(function()
{
$('.action').click(function()
{
var name = $(this).attr("name");
var content = $('.content[name=' + name + ']');
$('.content').not(content).hide('fast');
// this uses the callback functionality
// to only throw the trigger after the
// animation finishes.
content.slideToggle('fast',
function()
{
google.maps.event.trigger(map, 'resize');
});
});
});
答案 1 :(得分:0)
嘿,我意识到了一个快速简单的解决方法:
function initialize() {
var mapOptions = {
center: new google.maps.LatLng(42.365885, -71.258658),
zoom: 16,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById("map-canvas"), mapOptions);
google.maps.event.trigger(map,'resize');
}
$(document).on("pageshow", "#map", function () {
initialize();
});
使用名为“map”的页面div和名为“map-canvas”的地图div。
这似乎是在显示页面时初始化地图。这可以通过在用户打开时加载地图来降低您的应用程序速度,但它可以避免由dom和诸如此类引起的错误。这完全修复了我的phonegap + jquery mobile + google地图应用中的角落地图/灰色区域问题!