我只想知道是否有任何方法可以确定当前的Google Earth插件是否处于街道视图模式。
测试在Google Earth插件中是否启用了街道视图:
var navcontrol = ge.getNavigationControl();
var response = navcontrol.getStreetViewEnabled(); // default=false
// response: true -> enabled; false -> disabled
if (!response) {
// to enable street view mode
navcontrol.setStreetViewEnabled(true);
}
如果通过调用 setStreetViewEnabled(true)启用了街道视图,则用户将能够通过手动缩放(或使用pegman)来交互性地输入StreetView。
注意api docs文档调用 ge.getPlugin()。streetViewEnabled(true),但这是一个错误,因为GetPlugin()方法不存在。正确的方法是调用 getNavigationControl()。
这是如何测试街道视图模式是否处于活动状态:
var la = ge.getView().copyAsLookAt(ge.ALTITUDE_RELATIVE_TO_GROUND);
var viewerOptions = la.getViewerOptions();
if (viewerOptions) {
var state = viewerOptions.getOption(ge.OPTION_STREET_VIEW);
if (state == ge.OPTION_STATE_ENABLED) {
// street view mode is active
// do something here
}
}
// if viewerOptions is null then no modes are active
状态可以是三个值之一:
GEPlugin.OPTION_STATE_DEFAULT (0)
GEPlugin.OPTION_STATE_ENABLED (1)
GEPlugin.OPTION_STATE_DISABLED (2)
参考:接口选项和GE插件。