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:
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.