首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么我的地图在我的jQuery移动/谷歌地图API3应用程序中不对中?

为什么我的地图在我的jQuery移动/谷歌地图API3应用程序中不对中?
EN

Stack Overflow用户
提问于 2012-03-19 19:42:15
回答 4查看 1.8K关注 0票数 5

在我的jQuery移动web应用程序中,我有一个由Google jQuery驱动的地图。我在上面加了一个黑色边框的圆圈。

如果你用地图直接进入我的应用程序的这个页面,地图在圆心正确地居中。

http://goo.gl/XvLST

如果您先转到我的应用程序的主页(http://goo.gl/0IWgE),然后用地图单击进入该页面的方式,则地图是

circle).

  • missing
  1. 错误地以中心为中心(地图的中心位置应该是的中心,整个区域都是灰色的。)

当我从主页点击地图进入页面时,为什么地图会出错,但是如果我直接使用地图访问页面,为什么会正确工作呢?

我只是不能使用Ajax来用data-ajax='false'加载地图页面。但是,我实际上不能这样做,因为移动应用程序不允许加载非ajax负载。

当我将地图输入Chrome控制台时,google.maps.event.trigger(map, 'resize')似乎重新定位了它,但我不知道在我的javascript中该在哪里调用它。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-03-22 15:24:43

因为页面实际上是通过ajax加载的(从索引中获得)--您正在使用的页面事件可能是在DOM完全准备好之前调用的。GMaps期望页面准备就绪。

尝试使用除pageinit以外的其他事件。看起来页面可能是一个很好的页面(因为它在任何动画完成后运行) http://jquerymobile.com/demos/1.0/docs/api/events.html

或者,您可以将对映射的调用--调整大小事件--放在页面显示事件中。

票数 7
EN

Stack Overflow用户

发布于 2012-03-19 20:17:27

页面是否在主页和地图之间重新加载?如果不是,如果要创建div或调整div的大小,则需要在div更改后调用google.maps.event.trigger(map, 'resize') (大小更改或移除显示:无)。(编辑以显示触发事件的代码,感谢@Heitor )

票数 1
EN

Stack Overflow用户

发布于 2012-10-14 21:23:41

调用google.maps.event.trigger(mapObj, "resize"); on pageshowpagechange

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9776761

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档