Google地图和Yandex地图无法正常工作

时间:2011-09-11 作者:Alexey Shatygin

当我尝试在WordPress页面中插入地图时,我只得到一个灰色字段,带有一些控件,如图所示:enter image description here

不管我是如何输入页面的:使用一个特殊的插件或使用我自己的java代码。我使用WordPress 3.2.1,并尝试了WordPress 1.0.3版的Google地图和WordPress 1.3.1版的Yandex地图插件,以及我自己的代码(我正在以html模式将其插入页面正文):

    <script src="http://api-maps.yandex.ru/1.1/index.xml?key=AMJ1a04BAAAAOmnzVwIABchZJOPWw6JctS7eImmgemUoTmoAAAAAAAAAAABWck3wMFJCrzXTLH0AiuIpVEzpZA=="
    type="text/javascript"></script>
    <script type="text/javascript">
        window.onload = function () {
            var mapHybrid = new YMaps.Map(document.getElementById("YMapsHybridTypeId"));
            var mlHybrid = new YMaps.YMapsML("http://maps.yandex.ru/export/usermaps/jR_c2iaexA-htEui33mTTEmko4oPpRS-/");
            mapHybrid.addOverlay(mlHybrid);
            mapHybrid.setCenter(new YMaps.GeoPoint(-1,-1));
        }
    </script>
    <div id="YMapsHybridTypeId" style="width:640px; height:480px; float: left; margin: 10px 0 0 0"></div>
我在不同的浏览器下测试过这个问题:Opera10.51、Google Chrome、IE8

2 个回复
最合适的回答,由SO网友:Jan Fabry 整理而成

这些错误来自WordPress主题中的CSS规则,这些规则也应用于地图上的元素。例如,在您的页面上,我可以通过禁用#content table#content tr th 添加额外边距的规则。在测试设置中,我甚至在瓷砖之间得到了灰色间隙,因为.entry-content img { max-width: 97.5% } 2011年。

Map with gaps between the tiles

可能最简单的修复方法是将地图嵌入到iframe中,以便不在那里应用主要的CSS规则(我不知道您是否可以使用API来实现这一点?)。如果这对您的情况不可接受,您可以附加额外的规则undo the WordPress rules 对于地图(例如。.entry-content .map-canvas img {max-width: none}), 或者要求地图提供者添加更明确的规则(使用!important) 它们提供的样式表。

SO网友:Rarst

从您提供的快速测试片段来看,嵌入映射似乎是正确的。地图上什么都没有,因为标记指向某个地方的中央,如果你四处拖动,你可以看到一些道路。

您是否在页面正文中插入此内容?在HTML模式下?

利用wp_enqueue_script(), 在WordPress中处理脚本时。然而,您的示例似乎按原样工作,因此这可能无法解决您的问题。

Update

缩小范围,具体到2011年的主题。

结束

相关推荐

Javascript to open new window

我想在新的弹出浏览器窗口中打开一个链接。在使用JavaScript的非WordPress中,我会这样做(但我会添加一些下划线/颜色,使其看起来像一个链接)。<span onClick=\"myRef = window.open(\'/Paid_Videos/AudioGenerator01.html\',\'mywin\', \'left=20,top=20,width=500,height=500,toolbar=1,resizable=0\'); myRef.focus