function wrCreateMarker(latitude, longitude, name, icon) {
var point = new GLatLng(latitude, longitude);
var marker = new GMarker(point, icon);
- GEvent.addListener(marker, "click", function() {marker.openInfoWindowHtml("<strong>" + name + "</strong>");});
+ var articlePath = "$wgArticlePath";
+ var p = articlePath.replace("\$1", name.replace(' ', '_'));
+ GEvent.addListener(marker, "click", function() {marker.openInfoWindowHtml("<strong><a href='" + p + "'>" + name+ "</a></strong>");});
return marker;
}
//]]>
/// @param $content string - the content of the <wrgmap> tag
/// @param $args array - the array of attribute name/value pairs for the tag
/// @param $parser Parser - the MW Parser object for the current page
- /// @param $localParser Parser - the parser for parsing local content
///
/// @return string - the html for rendering the map
function render($content, $args, &$parser) {
++$this->mapsCount;
+
+ // Decode data
+ if (isset($args['lat'])) $latitude = floatval($args['lat']); else $latitude = 47.267648;
+ if (isset($args['lon'])) $longitude = floatval($args['lon']); else $longitude = 11.404655;
+ if (isset($args['zoom'])) $zoom = intval($args['zoom']); else $zoom = 10; // Google Zoom Level
// Query database
$dbr = wfGetDB(DB_SLAVE);
// Return output
$output .= '<script type="text/javascript">' . "\n//<![CDATA[\n";
$output .= 'if (GBrowserIsCompatible()) {' . "\n";
- $output .= $this->addMap($mapName);
+ $output .= $this->addMap($mapName, $latitude, $longitude, $zoom);
foreach ($sleddingRoutes as $s) {
$lat = $s['position_latitude'];
$lon = $s['position_longitude'];
}
// returns a string that creates a map object called 'map'
- private function addMap($mapName) {
+ private function addMap($mapName, $latitude, $longitude, $zoom) {
return "\tvar map = new GMap2(document.getElementById('$mapName'), {'mapTypes': [G_NORMAL_MAP, G_HYBRID_MAP, G_PHYSICAL_MAP, G_SATELLITE_MAP]});\n" .
"\tmap.addControl(new GLargeMapControl());\n" .
"\tmap.addControl(new GMapTypeControl());\n" .
"\tmap.addControl(new GScaleControl());\n" .
- "\tmap.setCenter(new GLatLng(47.267648, 11.404655), 10);\n" .
+ "\tmap.setCenter(new GLatLng($latitude, $longitude), $zoom);\n" .
"\tmap.setMapType(G_PHYSICAL_MAP);\n" .
"\tmap.enableScrollWheelZoom();\n";
}