Given that the Google Earth API is coming to an end we are looking at alternative solutions. Yesterday we had a look at Google Earth’s internal browser and what its capabilities are. Today we are looking at a way of controlling Google Earth from another application.
Liquid Galaxy is the name given to a Google Earth demonstration using multiple displays to give an immersive experience. To see it in action, see the photos and videos on of various installations here. Liquid Galaxy works by allowing Google Earth on one computer to communicate with instances of Google Earth on other computers and synchronize their views so as to give the impression that there is a single instance of Google Earth running across multiple screens. To achieve this, Google Earth has a special Liquid Galaxy protocol that can be used to instruct Google Earth to show a particular location from a particular angle. It is possible to use this protocol for uses other than Liquid Galaxy installations.
Paul van Dinther of PlanetInAction has kindly released a small program that demonstrates this functionality. It is a Windows only program called GExplorer and it replicates the functionality of a JavaScript by the same name he created that works with the Google Earth plugin.
See this YouTube video to get an idea of what it does:
To try it for yourself first download the program here (Windows only).
Next, you need to configure Google Earth to accept Liquid Galaxy protocol instructions. To do this you need to edit the drivers.ini file found in the Google Earth program folder. The file is typically found in the folder
C:\Program Files (x86)\Google\Google Earth\client
(for Google Earth)
or
C:\Program Files (x86)\Google\Google Earth Pro\client
(for Google Earth Pro)
We found Windows Notepad does not display the file properly so you will need a more advanced editor. We used SciTE which can be obtained from here. Edit the drivers.ini file and insert the following lines at the start of the SETTINGS section.
ViewSync/send = false
ViewSync/receive = true
ViewSync/port = 21567
ViewSync/yawOffset = 0
ViewSync/pitchOffset = 0.0
ViewSync/rollOffset = 0.0
ViewSync/horizFov = 60
It should look like this:
Windows will not let you save it directly to the Google Earth program folder so save it on your desktop and then copy it to the Google Earth program folder.
Start Google Earth and GExplorer and make sure the GExplorer window is on the same monitor as Google Earth.
Initially nothing will happen because GExplorer is broadcasting to the wrong IP address. Click on the “Get my broadcast IP” button to adjust the IP address or type it in if you have different network requirements (Such as an actual Liquid Galaxy setup with multiple computers). If all is well it should say “UDP Connected” in red.
Next click “Start”.
The Google Earth view should now leap to the start latitude and longitude location. You will also notice that the view moves around as you move your mouse. You can now control Google Earth with a combination of the WASD keys and the mouse. SHIFT and CTRL can also be used to control height. Amplify any control input by holding down the spacebar with any combination of the above keys.
The view animates smoothly based on control inputs. The responsiveness can be modified with the “Inertia” dropdown. Low numbers means more responsive.
“Tilt limit” specifies the maximum angle you can look up or down. Try changing it to 90.
As you turn left or right the camera automatically rolls like an aircraft. If you don’t want this behaviour you can turn it off by ticking the “No roll” checkbox.
You can also switch between “Earth”, “Moon” or “Mars” by changing a dropdown.
Paul also suggests the great idea of creating a mobile app with the same functionality which would allow you to control Google Earth from your mobile phone. If any of our readers creates such an app please let us know about it in the comments.