2012-03-18 75 views
0

有没有一种方法可以通过实时的Google地图来实现这种地图叠加效果,还是必须是静态图像?将背景图像添加到Google地图

http://penandthink.com/foldit/

感谢 格雷格

更新

小提琴从@SinistraD

公布 here另一个 Fiddle基于
+0

是的,它是可能的。向我们展示一些代码以开始。 – Starx 2012-03-18 01:38:19

+0

我是FoldIt演示背后的人。我找不到一个简单的方法来使地图互动,所以我很高兴在这里找到修补它的人! 那些小提琴的例子直接链接到我的htaccess阻止的页面的PNG,所以如果任何人想要更新它们,这里是一个更方便的托管版本的图像:http://img839.imageshack.us/img839/ 6726/framev.png – jpwain 2012-03-21 15:48:49

回答

0

我不明白为什么你无法做到这一点一个实时的Google地图。您只需将PNG覆盖在活动地图上而不是静态地图上。但是,问题在于,由于PNG叠加层会阻止鼠标事件(例如拖动)到达实时地图,因此您将失去实时Google地图的交互性。有围绕这个的JavaScript方法,但不一定容易,也不优雅。

+0

嗯,正如@SinistraD指出的那样,这似乎并不容易。我已经对他的[fiddle](http://jsfiddle.net/Ayc6P/3/)进行了编辑,直接使用Google API(而不是嵌入iframe),但仍然无效。看看我的[小提琴](http://jsfiddle.net/Ayc6P/4/) – gregory 2012-03-18 03:16:10

0

从我的意见这是一个很好的问题。

它应该是可能的,但不幸的是我不能这样做。我尝试没有成功。有几个问题。

让我们从叠加图像开始。 的HTML会是这个样子:

<div id="map"> 
    <img id="map-paper" src="http://penandthink.com/foldit/frame.png"/> 
    <iframe ... google maps code... ></iframe> 
</div>​ 

而CSS是这样的:

#map { 
    position: relative; 
    padding: 20px; 
} 

#map iframe { 
    margin: 10px; 
} 

#map-paper { 
    top: 0; 
    left: 0; 
    position: absolute; 
    width: 100%; 
    height: 100%; 
    background-image: url('http://penandthink.com/foldit/frame.png'); 
} 

这几乎工作,但不完全,有没有被完全覆盖因某种原因部分我找不到。

第二个问题是行为的损失。这个问题是,你必须模拟图像下方的点击。所以,像这样的jQuery代码应该工作,但它并不:

$('#map').click(function(e) { 
    $(this).children('iframe').click(e); 
});​ 

HERE的这一切小提琴。

我知道这不是一个真正的答案(嗯,也许证明它不是那么简单),而是其他人尝试调整这个的一些起点。

+0

我试图直接使用谷歌API没有运气。我修改了你的小提琴,但现在问题是PNG不覆盖地图。我曾试着改变z索引,但一直没有任何运气。我[小提琴](http://jsfiddle.net/Ayc6P/4/) – gregory 2012-03-18 03:13:44

+0

在你的小提琴中,HTML被删除。你不应该直接在#map div上初始化地图,而应该在它的子节点上执行它。就像这个[小提琴](http://jsfiddle.net/Ayc6P/5/)。覆盖现在的作品(Z指数:-1),但行为仍然失踪 – SinistraD 2012-03-18 03:33:43

+0

有趣的是,我很难过。我确实发现可以通过google.maps.event.addDomListener(document.getElementById(“map”),'click',function(event){})[docs](https:/ /developers.google.com/maps/documentation/javascript/events),但我无法模拟点击回地图。例如,google.maps.event.trigger(地图,'点击');不会在Google地图中触发适当的事件。小提琴[更新](http://jsfiddle.net/Ayc6P/6/) – gregory 2012-03-18 15:18:39