Page 2 of 2

Re: Google Maps module

Posted: Fri Mar 06, 2009 11:30 pm
by purplerain12
Ik heb in de code al geprobeerd de directory separator te vervangen met een /, maar dat werkt toch niet helemaal zoals ik hoopte!

Ik ben nog verder aan net zoeken, dus als ik iets vind, dan meld ik het in dit onderwerp!

Re: Google Maps module

Posted: Sat Mar 07, 2009 2:44 pm
by elzmiro
Hallo,

Ik heb in action.default.php de volgende code als debug aangepast, en nu worden de icons wel getoond.
De regels met LEON waren de oorspronkelijke regels, nu uitgecommentarieerd.
// Add the correct icon
$config = $gCms->GetConfig();

// LEON $markerdir = $this->config['root_url'].DIRECTORY_SEPARATOR.'modules'.
$markerdir = $this->config['root_url'].'/'.'modules'.

// LEON DIRECTORY_SEPARATOR.$this->getName().
'/'.$this->getName().

// LEON DIRECTORY_SEPARATOR.'images'.DIRECTORY_SEPARATOR;
'/'.'images'.'/';

if ($map_marker['icon'] != '') {
// Prepare the url to the marker

// LEON  $icontouse = $markerdir.'markers'.DIRECTORY_SEPARATOR.$map_marker['icon'];
  $icontouse = $markerdir.'markers'.'/'.$map_marker['icon'];
De DIRECTORY_SEPARATOR afhandeling gaat dus niet goed in Windows. Is dat iets dat alleen maar geldt voor de GoogleMaps module of is dat een structureel CMSMS probleem?

Groeten Léon

Re: Google Maps module

Posted: Mon Mar 09, 2009 9:24 pm
by W3designer
De DIRECTORY_SEPARATOR afhandeling gaat dus niet goed in Windows. Is dat iets dat alleen maar geldt voor de GoogleMaps module of is dat een structureel CMSMS probleem?
Ik heb bij andere modules geen problemen ondervonden op Windows. Maar ik heb mijn website nu op een Linux server gehost. Daar werkt de module wel zoals het hoort. Alleen wel met tricky workarrounds sommige dingen moeten doen.

Re: Google Maps module

Posted: Wed May 06, 2009 10:16 am
by gjr
Heren,

Ben er inmiddels aardig uit. Alleen jammer dat de Route niet weergegeven wordt op de pagina zelf, maar gelinkt wordt naar google maps.

Helaas zit er ook nog een klein bugje in het zoomlevel. Niet meer in te stellen wanneer een marker is toegevoegd.

Re: Google Maps module

Posted: Sun Jan 17, 2010 5:31 pm
by voorhammr
Hallo, ik heb hetzelfde probleem. Is er inmiddels een nieuwe versie die wel werkt?
Bovenstaande code kan ik niet vinden in action.default.php
En zoveel verstand van PHP heb ik ook niet.

Hopelijk kan iemand mij helpen om deze module goed te krijgen.

Re: Google Maps module

Posted: Wed Jan 20, 2010 12:21 am
by Gamonon
De Google maps module is leuk maar niet flexibel. Ik denk ook dat je alleen aanpassingen aan een
map wilt doen als je gaat verhuizen of zo. Dus waarom niet een rechtstreekse implementatie gebruiken.

Iemand (Peter) heeft al het werk gedaan en een fantastische uitleg geplaatst op :
http://stiern.com/tutorials/adding-cust ... ur-website

Je vindt daar ook de kant-en-klare zip met de gebruikte graphics om te downloaden. Onderstaand voor de duidelijkheid mijn implementatie in cmsms:

Maak het liefste een aparte pagina sjabloon voor de pagina met de googlemap.
Ik heb zelf een conflict met een ander animatie script gehad, dus houd het aantal scripts in dit sjabloon zo klein mogelijk.

In je pagina de map aanroepen met:

Code: Select all

<div id="map_canvas" style="width:500px; height:300px">
In je pagina template, als tag:

Code: Select all

</__body onload="initialize()">
In je pagina template aan het einde van het gedeelte :

Code: Select all

{literal}
<__script__ type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></__script>
		<__script__ language="javascript" type="text/javascript">
                <!--
			function initialize() {
				var latlng = new google.maps.LatLng(52.079236, 4.315597);
					var settings = {
					zoom: 16,
					center: latlng,
					mapTypeControl: true,
					mapTypeControlOptions: {style: google.maps.MapTypeControlStyle.DROPDOWN_MENU},
					navigationControl: true,
					navigationControlOptions: {style: google.maps.NavigationControlStyle.SMALL},
					mapTypeId: google.maps.MapTypeId.ROADMAP};
				var map = new google.maps.Map(document.getElementById("map_canvas"), settings);
				var contentString = '<div id="content">'+
					'<div id="siteNotice">'+
					'</div>'+
					'<id="firstHeading" class="firstHeading"><strong>Hoe bereikt u ons</strong>'+
					'<div id="bodyContent">'+
					'<p>U kunnen extra gegevens geplaatst worden over bijvoorbeeld betaald parkeren of de halte van een tramlijn</p>'+
					'</div>'+
					'</div>';
				var infowindow = new google.maps.InfoWindow({
					content: contentString
				});
				
				var companyImage = new google.maps.MarkerImage('uploads/images/googlemap/logo.png',
					new google.maps.Size(100,50),
					new google.maps.Point(0,0),
					new google.maps.Point(50,50)
				);

				var companyShadow = new google.maps.MarkerImage('uploads/images/googlemap/logo_shadow.png',
					new google.maps.Size(120,50),
					new google.maps.Point(0,0),
					new google.maps.Point(60, 50));

				var companyPos = new google.maps.LatLng(52.078563, 4.315973);

				var companyMarker = new google.maps.Marker({
					position: companyPos,
					map: map,
					icon: companyImage,
					shadow: companyShadow,
					title:"klik voor bereikbaarheid",
					zIndex: 3});
				
				var trainImage = new google.maps.MarkerImage('uploads/images/googlemap/train.png',
					new google.maps.Size(50,50),
					new google.maps.Point(0,0),
					new google.maps.Point(25,50)
				);

				var trainShadow = new google.maps.MarkerImage('uploads/images/googlemap/train_shadow.png',
					new google.maps.Size(70,50),
					new google.maps.Point(0,0),
					new google.maps.Point(35, 50)
				);

				var trainPos = new google.maps.LatLng(52.078943, 4.311932);

				var trainMarker = new google.maps.Marker({
					position: trainPos,
					map: map,
					icon: trainImage,
					shadow: trainShadow,
					title:"Tramhalte",
					zIndex: 2
				});

				var parkingImage = new google.maps.MarkerImage('uploads/images/googlemap/parking.png',
					new google.maps.Size(50,50),
					new google.maps.Point(0,0),
					new google.maps.Point(25,50)
				);

				var parkingShadow = new google.maps.MarkerImage('uploads/images/googlemap/parking_shadow.png',
					new google.maps.Size(70,50),
					new google.maps.Point(0,0),
					new google.maps.Point(35, 50)
				);

				var parkingPos = new google.maps.LatLng(52.080367, 4.316037);

				var parkingMarker = new google.maps.Marker({
					position: parkingPos,
					map: map,
					icon: parkingImage,
					shadow: parkingShadow,
					title:"Parkeergarage",
					zIndex: 1
				});
				
				google.maps.event.addListener(companyMarker, 'click', function() {
					infowindow.open(map,companyMarker);
				});
			}
                -->
		</__script>
{/literal}
Vergeet niet de zip even binnen te halen en de plaatje in de map uploads/images/googlemap te zetten.
De map toont de tweede kamer in Den Haag maar is natuurlijk, net als de plaatjes, aan te passen. Je kunt zo veel markers op de map plaatsen als je wilt.