Php 试图找到一种从Facebook内部弹出谷歌地图的方法

Php 试图找到一种从Facebook内部弹出谷歌地图的方法,php,facebook,google-maps,Php,Facebook,Google Maps,交易是这样的:我有一个fb应用程序,我主要是为了自己的利益而写的。(如果你愿意,你可以在……玩) 不管怎么说,问题在于:Facebook将Javascript分叶。谷歌地图是基于Javascript的。因此,我必须将地图放在iFrame中。但是FB对iFrame进行了限制,所以我基本上必须打开一个新页面来显示地图 然而,我真正想做的是让地图弹出。理想情况下,它看起来像FB的其他对话框 有人能建议一种方法吗?我是一名优秀的C&device驱动程序编码员,但我的PHP技能处于cargo cult阶段

交易是这样的:我有一个fb应用程序,我主要是为了自己的利益而写的。(如果你愿意,你可以在……玩)

不管怎么说,问题在于:Facebook将Javascript分叶。谷歌地图是基于Javascript的。因此,我必须将地图放在iFrame中。但是FB对iFrame进行了限制,所以我基本上必须打开一个新页面来显示地图

然而,我真正想做的是让地图弹出。理想情况下,它看起来像FB的其他对话框


有人能建议一种方法吗?我是一名优秀的C&device驱动程序编码员,但我的PHP技能处于cargo cult阶段……

你可以在FBJS对话框中放置一个fb:iframe,让src指向服务器上一个非facebook身份验证的页面(使用你的回调地址,而不是apps.facebook.com/blah)来呈现地图


这可能会给您带来与仅使用iframe时相同的问题,但它确实是唯一的选项,因为FB是如何处理JavaScript的。

您确定对话框可以包含iframe吗?你说得对,那可能行得通——我得调查一下。谢谢。我从来没有遇到过任何不能在对话框中渲染的FBML,但实际上我还没有尝试过iframe。如果你不介意发布你的结果,我肯定想知道它对你的效果如何。顺便说一句——最终的结果是,从长远来看,这仍然是我首选的解决方案,但在短期内它不会起作用——对话框的大小是固定的;我无法制作一张足够大的地图来容纳谷歌地图。我认为这可能是一个问题,因为我以前遇到过这个限制。实际上,可以使用javascript更改对话框的宽度,但使用FBJS获取对元素的引用可能会很棘手。您需要将一个元素放入具有可引用ID的div中,然后对该元素使用getParent()方法,直到到达dialog元素。使用FireBug来帮助识别元素可能会有所帮助。