我有以下功能,它是 Google Earth API 的一部分。它会在地图上生成图像叠加层,并且必须多次调用。我如何调用这个函数并给每个调用一个唯一的 id?我想过这样的事情:
function createScreenOverlay(location, x , y) {
var screenOverlay = ge.createScreenOverlay('');
screenOverlay.setIcon(ge.createIcon(''));
screenOverlay.getIcon().setHref(location);
screenOverlay.getOverlayXY().setXUnits(ge.UNITS_FRACTION);
screenOverlay.getOverlayXY().setYUnits(ge.UNITS_FRACTION);
screenOverlay.getOverlayXY().setX(.5);
screenOverlay.getOverlayXY().setY(.5);
// Set screen position in fractions.
screenOverlay.getScreenXY().setXUnits(ge.UNITS_PIXELS);
screenOverlay.getScreenXY().setYUnits(ge.UNITS_PIXELS);
screenOverlay.getScreenXY().setX(x); // Random x.
screenOverlay.getScreenXY().setY(y); // Random y.
// Rotate around object's center point.
screenOverlay.getRotationXY().setXUnits(ge.UNITS_FRACTION);
screenOverlay.getRotationXY().setYUnits(ge.UNITS_FRACTION);
screenOverlay.getRotationXY().setX(0.9);
screenOverlay.getRotationXY().setY(0.5);
// Rotate by a random number of degrees.
ge.getFeatures().appendChild(screenOverlay);
};
在 HTML 中有这个:
<p id="campusbutton"><p>
然后在 JavaScript 部分再次调用它: document.getElementById("campusbutton").innerHTML=createScreenOverlay(LOCATION, X, Y);
这确实有效,但是它写了“未定义”<p>
假设在哪里......显然<p>
是段落标签,这就是打印“未定义”的原因,但是我可以使用任何其他标签吗?<div>
由于某种原因不起作用。
谢谢!