MediaWiki GIS Extensions: Unterschied zwischen den Versionen

GISWiki - Das freie Portal für Geoinformatik (GIS)
Wechseln zu: Navigation, Suche
(Google Maps Extensions)
(Koordinatentools für Mediawiki)
Zeile 1: Zeile 1:
=Koordinatentools für Mediawiki=
+
 
==<nowiki>{{Vorlage:Koordinate}}</nowiki>==
+
==GoogleMap-Tag==
+
==geo-Tag==
+
  
 
=Google Maps Extensions=
 
=Google Maps Extensions=

Version vom 12. Juli 2005, 16:21 Uhr


Google Maps Extensions

Google Maps ist der Karten- und Routing-Servive von Goggle.

Infofenster-Extension

Code


<?php

# Google Map WikiMedia extension
# Copy this text into a file called "hjlGoogleMap.php"
# To activate the extension, include it from your LocalSettings.php
# with: include("extensions/hjlGoogleMap.php"); 
#
# Use the tags <GoogleMap>Latitude|Longitude|ZoomFactor|InfoText<GoogleMap> to display this map.
#
# Sample: "<GoogleMap>53.053|7.803|10|GISWiki got a GoogleMap</GoogleMap>"
#
# Missing: error-handling, ....

function wfGoogleMapExtension() 
{
	global $wgParser;
	$wgParser->setHook( "GoogleMap", "renderGoogleMap" );
}

# The callback function for converting the input text to HTML output
function renderGoogleMap( $input ) 
{

$varAr = explode("|", $input);

$varLat	=  $varAr[0];
$varLon	=  $varAr[1];
$varZoom=  $varAr[2];
$varInfo = $varAr[3];

# Hint: you need to sign up for a Google Maps API key!!
#       http://www.google.com/apis/maps/signup.html
#       Then replace the key below.

$aMap = 
"
<script src='http://maps.google.com/maps?file=api&v=1&key=ABQIAAAAtThFd25f3RSm_Uyo-qMHZhSEt_GnVgvWmIxz4pFM1BN9jZGypxTTPP-dRrFjQMULBxRQCp9iRU2O2w' type='text/javascript'></script>
<div id='map' style='width: 500px; height: 400px'></div>
<script type='text/javascript'>
//<![CDATA[
var map = new GMap(document.getElementById('map'));
//map.addControl(new GSmallMapControl());
//map.addControl(new GMapTypeControl());
map.addControl(new GLargeMapControl());
map.addControl(new GMapTypeControl());
map.centerAndZoom(new GPoint(".$varLat.", ".$varLon."), ".$varZoom.");
map.setMapType(_SATELLITE_TYPE);
map.openInfoWindow(map.getCenterLatLng(),
document.createTextNode('".$varInfo."'));
</script>
";

return $aMap;
}
?>


Beispiel

Eingabe

<GoogleMap>53.0419921875|8.85000228881836|10|GISWiki got a GoogleMap</GoogleMap>

Ergebnis

<GoogleMap>53.0419921875|8.85000228881836|10|GISWiki got a GoogleMap</GoogleMap>

Marker Extension

Code


<?php

# Google Map WikiMedia extension
#
# Copy this text into a file called "hjlGoogleMapMarker.php"
# To activate the extension, include it from your LocalSettings.php
# with: include("extensions/hjlGoogleMap.php"); 
#
# Use the tags <GoogleMapM>Latitude|Longitude|ZoomFactor|URL|URL-Text|URL-Image|Image-Height<GoogleMapM> to display this map.
#
# Sample: "<GoogleMapM>53.053|7.803|10|http://www.giswiki.org/|GISWiki|http://www.giswiki.org/skins/common/images/wiki.png\|30</GoogleMapM>"
#
# Missing: error-handling, ....


$wgExtensionFunctions[] = "wfGoogleMapMarkerExtension";

function wfGoogleMapMarkerExtension() 
{
	global $wgParser;
	$wgParser->setHook( "GoogleMapM", "renderGoogleMapMarker" );
}

# The callback function for converting the input text to HTML output
function renderGoogleMapMarker( $input ) 
{

$varAr = explode("|", $input);

$varLat	  = $varAr[0];
$varLon	  = $varAr[1];
$varZoom  = $varAr[2];
$varURL   = $varAr[3];
$varText  = $varAr[4];
$varImg   = $varAr[5];
$varImgH  = $varAr[6];

# Hint: you need to sign up for a Google Maps API key!!
#       http://www.google.com/apis/maps/signup.html
#       Then replace the key below.

$varInfo = "<img src=\"".$varImg."\" height=\"".$varImgH."\" width=\"".$varImgW."\"><br><a href=\"".$varURL."\" target=\"_blank\">".$varText."</a>";

$aMap = 
"

<script>
// Creates a marker whose info window displays the given number
function createMarker(point, text) {
var marker = new GMarker(point);
var html = text + \"<br><br><font size='-1'>(öffnet in neuem Fenster)</font>\";
GEvent.addListener(marker, \"click\", function() {marker.openInfoWindowHtml(html);});
return marker;
}
</script>

<script src='http://maps.google.com/maps?file=api&v=1&key=ABQIAAAAtThFd25f3RSm_Uyo-qMHZhSEt_GnVgvWmIxz4pFM1BN9jZGypxTTPP-dRrFjQMULBxRQCp9iRU2O2w' type='text/javascript'></script>
<div id='map' style='width: 500px; height: 400px'></div>
<script type='text/javascript'>
//<![CDATA[
var map = new GMap(document.getElementById('map'));
//map.addControl(new GSmallMapControl());
//map.addControl(new GMapTypeControl());
map.addControl(new GLargeMapControl());
map.addControl(new GMapTypeControl());
map.centerAndZoom(new GPoint(".$varLat.", ".$varLon."), ".$varZoom.");
map.setMapType(_SATELLITE_TYPE);
var point = new GPoint(".$varLat.",".$varLon.");
var marker = createMarker(point, '".$varInfo."');
map.addOverlay(marker);
</script>
";

return $aMap;
}
?>



Beispiel

Eingabe

<GoogleMapM>53.0419921875|8.85000228881836|10|http://www.giswiki.org/|GISWiki|http://www.giswiki.org/skins/common/images/wiki.png\|30</GoogleMapM>

Ergebnis

<GoogleMapM>53.0419921875|8.85000228881836|10|http://www.giswiki.org/%7CGISWiki%7Chttp://www.giswiki.org/skins/common/images/wiki.png\%7C30</GoogleMapM>

Weblinks

Siehe auch

  • There's also a pointer to http://mygmaps.com , which allows you to display custom data files with Google Maps. (The site is alphaish, so things may break.)