好奇的问题,同时嵌入一个谷歌地球网络链接到博客。我使用的代码如下所示,但我在同一页上得到了GE的两个实例,一个在另一个上面。它们必须是单独生成的,就像我将边框插入页面上的div样式一样--它只影响一个实例。
<div id="map3d" style="border: 4px solid silver; height: 768px; width: 1024px;"></div>但是,如果我将此代码从页面中全部删除。两种情况都消失了。
除此之外,我还能让它发挥我想要的功能。(最终)
这是我在头部分的代码
<!-- Earth -->
<script src="//www.google.com/jsapi?key=mykey"></script>
<script type="text/javascript">
var ge;
google.load("earth", "1", {"other_params":"sensor=false"});
function init() {
google.earth.createInstance('map3d', initCB, failureCB);
}
function initCB(instance) {
ge = instance;
ge.getWindow().setVisibility(true);
ge.getNavigationControl().setVisibility(ge.VISIBILITY_SHOW);
var href = 'http://urltomykmz';
google.earth.fetchKml(ge, href, function(kmlObject) {
if (kmlObject)
ge.getFeatures().appendChild(kmlObject);
if (kmlObject.getAbstractView() !== null)
ge.getView().setAbstractView(kmlObject.getAbstractView());
});
}
function failureCB(errorCode) {
}
google.setOnLoadCallback(init);
</script>
<!-- Earth -->感谢任何能指出导致第二次事件的原因的人。谢谢。
发布于 2014-06-24 14:59:51
必须删除onload处理程序中对onload的调用或对google.setOnLoadCallback(init)的调用,否则每次调用init函数时都会添加映射。
https://stackoverflow.com/questions/24387849
复制相似问题