javascript - 为什么我的 map 无法正确调整大小?

标签 javascript jquery-mobile google-maps-api-3

我的 map 有问题,无法正确调整大小。我有两个页面:在启动时显示的 #page1 和可通过选项卡中的链接访问的 #page2

#page1上我初始化。 map :

var map;
$(document).on('pageinit', '#page1', function () {
    // map init
    var mapOptions = {
        // karte wird initialisiert mit zoom aufs ruhrgebiet
        zoom: 12,
        center: new google.maps.LatLng(50, 7),
        mapTypeId: google.maps.MapTypeId.ROADMAP
    };
    map = new google.maps.Map(document.getElementById('map_canvas'), mapOptions);
});

然后我添加了代码,以便在到达 #page2 时调整 map 大小:

$(document).on('pageshow', '#page2', function () {
    google.maps.event.trigger(map, "resize");   
});

问题是,当我第一次到达#page2时, map 的大小不正确: enter image description here

如何解决此问题?

最佳答案

这是因为 data-role="content" 未调整大小以覆盖所有可用空间。

在您的内容 div 上使用此 CSS:

.ui-content {
    position: absolute !important;
    top: 40px;
    right: 0;
    bottom: 40px;
    left: 0;
}

如果没有页眉或页脚,请将 40px 替换为 0

这是一个很棒的 article 谈论使用 jQuery Mobile 实现 Google map V3 API。它包含工作示例。

关于javascript - 为什么我的 map 无法正确调整大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19029124/

相关文章:

javascript - AngularJS - 状态更改时停止自动刷新页面

javascript - 我收到错误代码 "your day value is invalid"

css - 我如何使用 jquery 在 ajax 响应上应用完整的 css

google-maps - 如何使用react-google-maps库创建折线

javascript - 使用 jquery 获取类

jquery-mobile - 更改按钮的图标 jQuery Mobile

javascript - 使用 Cordova 插件设备时未定义

java - 多个项目使用相同的 API key

javascript - 当给定来自 HTML5 地理定位的 LatLng 线时,Google map API 显示空白 map

javascript - 执行当前的 ajax 调用并中止所有先前的调用