Find Google maps in Subsurface's source tree

This way the user doesn't need to move the two folders googlemaps and
googlesat around in the filesystem.

This only works if Subsurface is started from the build directory - it
doesn't work when Subsurface is installed (and it doesn't at all address
the need to install these files and bundle them as well).

I'd consider this a hack to show how the real solution should work.

There is one more part of this that is a hack: Marble no longer searches
its default data directory; the path we set replaces the Marble system
search path. Sadly, Marble doesn't support paths the way Unix thinks of
them with multiple directories, separated by ':'. So this means that
Marble no longer finds any of its default icons. For most of them that
seems fine as I don't think lacking the icons for "manned_landing",
"robotic_rover", "unmanned_hard_landing" or the various types of places of
worship that Marble supports is necessarily a big issues for Subsurface,
but at least the default_location icon seemed important. And since we now
need to carry our own, I replaced the boring circle with a tiny dive flag.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Dirk Hohndel 2013-05-25 08:28:35 -07:00
parent dbb84188c2
commit 92ee374494
10 changed files with 4 additions and 0 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 400 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 159 B

View file

@ -0,0 +1,80 @@
<?xml version="1.0" encoding="UTF-8"?>
<dgml xmlns="http://edu.kde.org/marble/dgml/2.0">
<document>
<head>
<name>Google Maps</name>
<target>earth</target>
<theme>googlemaps</theme>
<icon pixmap="preview.png"/>
<visible>true</visible>
<description><![CDATA[<p>A <i>global roadmap</i> provided by Google.]]></description>
<zoom>
<minimum> 900 </minimum>
<maximum> 3700 </maximum>
<discrete> true </discrete>
</zoom>
</head>
<map bgcolor="#000000">
<canvas/>
<target/>
<layer name="googlemaps" backend="texture" >
<!-- Let Google Maps rendered tiles expire after one week
(604800 seconds) -->
<texture name="map" expire="604800" >
<sourcedir format="PNG"> earth/googlemaps </sourcedir>
<storageLayout levelZeroColumns="1" levelZeroRows="1" maximumTileLevel="20" mode="Custom" />
<projection name="Mercator" />
<downloadUrl protocol="http" host="mt.google.com" path="/vt/lrys=m@130&amp;hl=de&amp;x={x}&amp;y={y}&amp;z={zoomLevel}&amp;s=Ga" />
</texture>
</layer>
<layer name="standardplaces" backend="geodata">
<geodata name="cityplacemarks">
<sourcefile format="KML">cityplacemarks.kml</sourcefile>
<pick>placemark</pick>
</geodata>
<geodata name="baseplacemarks">
<sourcefile format="KML">baseplacemarks.kml</sourcefile>
<pick>placemark</pick>
</geodata>
<geodata name="elevplacemarks">
<sourcefile format="KML">elevplacemarks.kml</sourcefile>
<pick>placemark</pick>
</geodata>
<geodata name="otherplacemarks">
<sourcefile
format="KML">otherplacemarks.kml</sourcefile>
<pick>placemark</pick>
</geodata>
<geodata name="boundaryplacemarks">
<sourcefile format="KML">boundaryplacemarks</sourcefile>
<pick>placemark</pick>
</geodata>
</layer>
</map>
<settings>
<property name="coordinate-grid">
<value>true</value>
<available>true</available>
</property>
<property name="overviewmap">
<value>true</value>
<available>true</available>
</property>
<property name="compass">
<value>true</value>
<available>true</available>
</property>
<property name="scalebar">
<value>true</value>
<available>true</available>
</property>
</settings>
<legend>
<section name="coordinate-grid" checkable="true" connect="coordinate-grid" spacing="12">
<heading>Coordinate Grid</heading>
</section>
</legend>
</document>
</dgml>

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 191 B

View file

@ -0,0 +1,130 @@
<?xml version="1.0" encoding="UTF-8"?>
<dgml xmlns="http://edu.kde.org/marble/dgml/2.0">
<document>
<head>
<name>Google Satellite</name>
<target>earth</target>
<theme>googlesat</theme>
<icon pixmap="preview.png"/>
<visible>true</visible>
<description><![CDATA[<p>A <i>global roadmap</i> provided by Google.]]></description>
<zoom>
<minimum> 900 </minimum>
<maximum> 3700 </maximum>
<discrete> true </discrete>
</zoom>
</head>
<map bgcolor="#000000">
<canvas/>
<target/>
<layer name="googlesat" backend="texture" >
<!-- Let Google Maps rendered tiles expire after one year
or 31536000 seconds -->
<texture name="map" expire="31536000" >
<sourcedir format="JPG"> earth/googlesat </sourcedir>
<storageLayout levelZeroColumns="1" levelZeroRows="1" maximumTileLevel="20" mode="Custom" />
<projection name="Mercator" />
<downloadUrl protocol="http" host="khm.google.com" path="/kh/v=124&amp;hl=de&amp;x={x}&amp;s=&amp;y={y}&amp;z={zoomLevel}&amp;s=Ga" />
</texture>
<texture name="streets" expire="604800" >
<sourcedir format="PNG"> earth/googlesat/streets </sourcedir>
<storageLayout levelZeroColumns="1" levelZeroRows="1" maximumTileLevel="20" mode="Custom" />
<projection name="Mercator" />
<downloadUrl protocol="http" host="mt.google.com" path="/vt/lyrs=h@126&amp;hl=de&amp;x={x}&amp;s=&amp;y={y}&amp;z={zoomLevel}&amp;s=Ga" />
<blending name="OverpaintBlending" />
</texture>
<texture name="bicycle" expire="604800" >
<sourcedir format="PNG"> earth/googlesat/bicycle </sourcedir>
<storageLayout levelZeroColumns="1" levelZeroRows="1" maximumTileLevel="20" mode="Custom" />
<projection name="Mercator" />
<downloadUrl protocol="http" host="mt.google.com" path="/vt/lyrs=h@179207685,bike&amp;x={x}&amp;s=&amp;y={y}&amp;z={zoomLevel}&amp;" />
<blending name="OverpaintBlending" />
</texture>
</layer>
<layer name="standardplaces" backend="geodata">
<geodata name="cityplacemarks">
<sourcefile format="KML">cityplacemarks.kml</sourcefile>
<pick>placemark</pick>
</geodata>
<geodata name="baseplacemarks">
<sourcefile format="KML">baseplacemarks.kml</sourcefile>
<pick>placemark</pick>
</geodata>
<geodata name="elevplacemarks">
<sourcefile format="KML">elevplacemarks.kml</sourcefile>
<pick>placemark</pick>
</geodata>
<geodata name="otherplacemarks">
<sourcefile format="KML">otherplacemarks.kml</sourcefile>
<pick>placemark</pick>
</geodata>
<geodata name="boundaryplacemarks">
<sourcefile format="KML">boundaryplacemarks.kml</sourcefile>
<pick>placemark</pick>
</geodata>
</layer>
</map>
<settings>
<property name="coordinate-grid">
<value>true</value>
<available>true</available>
</property>
<property name="overviewmap">
<value>true</value>
<available>true</available>
</property>
<property name="compass">
<value>true</value>
<available>true</available>
</property>
<property name="scalebar">
<value>true</value>
<available>true</available>
</property>
<group name="Places">
<property name="places">
<value>true</value>
<available>true</available>
</property>
<property name="cities">
<value>false</value>
<available>false</available>
</property>
<property name="terrain">
<value>false</value>
<available>false</available>
</property>
<property name="otherplaces">
<value>false</value>
<available>false</available>
</property>
</group>
<group name="Texture Layers">
<property name="streets">
<value>true</value>
<available>true</available>
</property>
<property name="bicycle">
<value>false</value>
<available>true</available>
</property>
</group>
</settings>
<legend>
<section name="streets" checkable="true" connect="streets" spacing="12">
<heading>Transportation</heading>
</section>
<section name="bicycle" checkable="true" connect="bicycle" spacing="12">
<heading>Bicycle Routes</heading>
</section>
<section name="coordinate-grid" checkable="true" connect="coordinate-grid" spacing="12">
<heading>Coordinate Grid</heading>
</section>
<section name="places" checkable="true" connect="places" spacing="12">
<heading>Places of Interest</heading>
</section>
</legend>
</document>
</dgml>

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 191 B