0

如何使用“Google Earth API”或其他内容在此视频(1-2 分钟http://www.ted.com/index.php/talks/sergey_brin_and_larry_page_on_google.html )上创建类似内容?

特别是:我有一个在线游戏,想在一些“虚拟地球”上显示动态数据。3 种类型的对象实时更改其状态。每 5 秒更新一次就足够了。我已经为它打开了 api。

问题是我不知道是否可以从球体中心绘制类似彩色线条的东西并动态更改它们。

很抱歉提出一个抽象的问题,但目标是相同的。

4

1 回答 1

3

好吧,如果您使用的是 Google 地球 API(需要安装 Google 地球插件),您可以创建一堆挤压多边形。例如,如果您转到Earth API Interactive Sampler并粘贴/运行以下内容:

var lookAt = ge.getView().copyAsLookAt(ge.ALTITUDE_RELATIVE_TO_GROUND);
var lat = lookAt.getLatitude();
var lng = lookAt.getLongitude();

// first create inner and outer boundaries
// outer boundary is a square
var outerBoundary = ge.createLinearRing('');
var coords = outerBoundary.getCoordinates();
coords.pushLatLngAlt(lat - 0.5, lng - 0.5, 1000000); 
coords.pushLatLngAlt(lat - 0.5, lng + 0.5, 1000000); 
coords.pushLatLngAlt(lat + 0.5, lng + 0.5, 1000000); 
coords.pushLatLngAlt(lat + 0.5, lng - 0.5, 1000000); 

// create the polygon and set its boundaries
var polygon = ge.createPolygon('');
polygon.setExtrude(true);
polygon.setAltitudeMode(ge.ALTITUDE_RELATIVE_TO_GROUND);
polygon.setOuterBoundary(outerBoundary);

// create the polygon placemark and add it to Earth
var polygonPlacemark = ge.createPlacemark('');
polygonPlacemark.setGeometry(polygon);
ge.getFeatures().appendChild(polygonPlacemark);

// persist the placemark for other interactive samples
window.placemark = polygonPlacemark;
window.polygonPlacemark = polygonPlacemark;

您将看到一个 3D 多边形从地球中挤出。

你可以用这个做更多的事情;我建议通过访问 code.google.com/apis/earth 和 code.google.com/apis/kml 来使用 Earth API 和 KML(Earth API 中几何基元的基础)。

于 2009-06-10T07:48:50.873 回答