检测Google Earth插件是否处于街道视图模式



我只想知道是否有任何方法可以确定当前的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插件。

最新更新