Opened 8 years ago

Last modified 8 years ago

#130 new enhancement

GoogleEarthPanel

Reported by: sbenthall Owned by:
Priority: major Milestone: ux
Component: ux Version: trunk
Keywords: Cc:
State: Needs Discussion

Description

A panel for displaying the Google Earth browser plugin, synchronized with a GeoExt MapPanel.

See http://earth-api-samples.googlecode.com/svn/trunk/demos/interactive/index.html for a demonstration of the plugin.

Attachments (2)

GoogleEarthPanel.js (9.1 KB) - added by sbenthall 8 years ago.
example implementation (not complete)
patch-130-A0.diff (14.1 KB) - added by elemoine 8 years ago.
plugin-based design

Download all attachments as: .zip

Change History (11)

Changed 8 years ago by sbenthall

example implementation (not complete)

comment:1 Changed 8 years ago by sbenthall

The attached patch is not polished yet, but is attached to provide something concrete to facilitate discussion. It is a modification of a class written largely by Tim Coulter.

comment:2 Changed 8 years ago by fredj

Hi, there is already some code to play with google earth: http://demo.mapfish.org/mapfishsample/trunk/examples/earth/

comment:3 Changed 8 years ago by tschaub

  • Milestone changed from 0.6 to 0.7

comment:4 Changed 8 years ago by bartvde

This will probably be a candidate for GeoExt.ux instead of trunk.

comment:5 follow-up: Changed 8 years ago by cmoullet

  • State changed from Needs Discussion to Review

A Google Earth Plug In UX has been developped.

All information related to this plug-in are here: https://trac.geoext.org/wiki/ux/GoogleEarthPanel

comment:6 in reply to: ↑ 5 Changed 8 years ago by elemoine

Replying to cmoullet:

A Google Earth Plug In UX has been developped.

All information related to this plug-in are here: https://trac.geoext.org/wiki/ux/GoogleEarthPanel

Cédric, I've reviewed your Google Earth panel, here's the things I'd like we do before commit:

  • layerCache shouldn't be set in the prototype
  • I very often get a black panel for Google Earth upon loading your examples, it may be that createInstance is called too early, i.e. before Ext has finished to do the layout. Therefore, we may need to rely on the "afterlayout" event, as it's done in the MapPanel
  • instead of "guessing" the location of the resources directory, which won't work when a built library is used, I'd suggest that we add a eyeIcon option. And if the user doesn't specify this mention a regular vector point is used instead of an external graphics
  • in the setPermalink method, at line 821 of the patch, shouldn't it be if (!this.ge) instead of if (this.ge)?
  • in the onFrameEnd method this.til should be changed to this.tilt
  • the GoogleEarthClick control includes logic that's specific to the GoogleEarthPanel, I so think this logic should go where it belongs. One way is to do an inner class of the GoogleEarthPanel. But the best way would be to create a Click control in OpenLayers
  • also, this ux should respect the ux structure we're currently working on

Changed 8 years ago by elemoine

plugin-based design

comment:7 Changed 8 years ago by elemoine

  • State changed from Review to Needs Discussion

patch-130-A0.diff illustrates the design I'd favor. In this design the GoogleEarthPanel takes care of creating the Google Earth plugin in the panel's body, and its responsibility is basically limited to that. The rest of the functionality is implemented as plugins. patch-130-A0.diff provides a SyncLocation plugin which updates the center of the map when the globe's "looked-at" position changes, and vice-versa. This patch is incomplete, its goal is exclusively illustrative.

comment:8 Changed 8 years ago by bartvde

  • Component changed from GeoExt to ux

comment:9 Changed 8 years ago by ahocevar

  • Milestone changed from 0.7 to ux
Note: See TracTickets for help on using tickets.