用控制应用程序控制谷歌地球

时间:2013-09-01 14:38:28

标签: windows google-earth google-earth-plugin pc

如果我要编写一个控制另一个我没有二进制文件的应用程序的应用程序,
例如,一个应用程序本身会打开Goog​​le地球并将相机放在我的应用程序会告诉它的特定点,比如-24,131,然后命令google earth将图像保存到特定文件夹。

这是什么方法? 我怎么知道正在执行的函数并代表这样的控制程序激活它们? 此外,我还需要知道图像的下载已经完成,所以我可以抓取图像。

我看到有一个谷歌地球的API,但我不知道我是否可以用它来控制google-earth(应用程序本身)

1 个答案:

答案 0 :(得分:0)

您可以使用Google地球API(developers.google.com/earth/)来控制Google地球地球实例。

请在此处查看Javascript代码快照:

var ge;

google.load("earth", "1");

function init() {
    google.earth.createInstance('map3d', initCB, failureCB);
    }
function initCB(instance) {
    ge = instance;
    ge.getWindow().setVisibility(true);
    ge.getOptions().setStatusBarVisibility(true);
    ge.getNavigationControl().setVisibility(ge.VISIBILITY_AUTO);
    ge.getLayerRoot().enableLayerById(ge.LAYER_BORDERS, true);
    ge.getLayerRoot().enableLayerById(ge.LAYER_ROADS, true);

    var lookAt = ge.createLookAt('');
    lookAt.setLatitude(41.26);
    lookAt.setLongitude(-100.00);
    lookAt.setRange(800000.0);
    ge.getView().setAbstractView(lookAt);
}

function failureCB(errorCode) {
    alert(errorCode);
}

    google.setOnLoadCallback(init);

请在此处查看HTML代码:

<!DOCTYPE html>
<head>
    <script src="http://www.google.com/jsapi"></script>
</head>
    <style>
       body {
          margin:20px;
              height:100%;
          width:98%;
}
       #map3d {
          width:75%;
          float:right;
    }
</style>
<body>
  <div id="map3d"></div>
</body>
</html>

您可以使用wkhtml2pdf(code.google.com/p/wkhtmltopdf/)函数wkhtmltoimage或PhantomJs(github.com/ariya/phantomjs/wiki/Screen-Capture)来获取图像版本。

希望它有所帮助!

干杯, 米哈伊