如果我要编写一个应用程序来控制另一个我没有二进制文件
的应用程序,例如,一个应用程序本身会打开 Google 地球并将相机放置在我的应用程序会告诉它的特定点,比如 -24,131 ,然后命令 google earth 将图像保存到特定文件夹。
对此有什么方法?我怎样才能知道正在执行的功能并代表这样的控制程序触发它们?此外,我还需要知道图像下载已完成,以便我可以抓取图像。
我看到有一个谷歌地球的API,但我不知道我是否可以用它来控制谷歌地球(应用程序本身)
如果我要编写一个应用程序来控制另一个我没有二进制文件
的应用程序,例如,一个应用程序本身会打开 Google 地球并将相机放置在我的应用程序会告诉它的特定点,比如 -24,131 ,然后命令 google earth 将图像保存到特定文件夹。
对此有什么方法?我怎样才能知道正在执行的功能并代表这样的控制程序触发它们?此外,我还需要知道图像下载已完成,以便我可以抓取图像。
我看到有一个谷歌地球的API,但我不知道我是否可以用它来控制谷歌地球(应用程序本身)
您可以使用 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) 来获取图像版本。
希望能帮助到你!
干杯,米海