@Christian:
Danke - lag an einem Sonderzeichen...
@macKP:
vllt fragst du besser im Thread der Erweiterung von google-maps nach
Hast absolut recht
@den, den es interessiert aus:
Ja, Du kannst der Karte auch die Marker dynamisch übergeben. Guck Dir dazu (mit einem einzeln angelegten Marker) im Quelltext an, wie die grafischen Marker erzeugt werden.
Hier findest Du ein Beispiel (allerdings nur mit einer Sorte Icon, aber daraus kannst Du ja auch mehrere machen).
Meine Version des (zumindest bei mir funktionierenden) Codes inklusive dynamischen Icons im Cataloglister-Modul:
Code:
<script type="text/javascript">
//<![CDATA[
<?php if (count($this->entries)): ?>
<?php $i = 0; ?>
function gmap1_dynmap(gmap1) {
<?php foreach ($this->entries as $entry): ?>
var premicon_<?php echo $i; ?> = new google.maps.MarkerImage(
'<?php echo $entry['data']['icon']['raw']; ?>',
new google.maps.Size(25, 29),
new google.maps.Point(0,0),
new google.maps.Point(12,15)
);
var myLatlng_<?php echo $i; ?> = new google.maps.LatLng(<?php echo $entry['data']['googlemap']['value']; ?>);
var gmap1_<?php echo $i; ?>_marker = new google.maps.Marker({
position: new google.maps.LatLng(<?php echo $entry['data']['googlemap']['value']; ?>),
map: gmap1,
icon: premicon_<?php echo $i; ?>
});
var gmap1_<?php echo $i; ?>_infowindow = new google.maps.InfoWindow({
content: '<?php echo $entry['data']['name']['value']; ?></br><?php echo $entry['data']['picture']['value']; ?></br><?php echo $entry['data']['int_link']['value']; ?>',
});
google.maps.event.addListener(gmap1_<?php echo $i; ?>_marker, 'click', function() {
gmap1_<?php echo $i; ?>_infowindow.open(gmap1,gmap1_<?php echo $i; ?>_marker);
});
<?php $i++; ?>
<?php endforeach; ?>
}
<?php endif; ?>
//]]>
</script>
Zudem noch eine Version für den Reader inkl. Routenplaner:
Code:
<?php if (count($this->entries)): ?>
<div class="layout_full">
<?php foreach ($this->entries as $entry): ?>
<div class="item<?php echo $entry['class'] ? ' '.$entry['class'] : ''; ?>">
<?php if($entry['linkEdit']): ?><?php echo $entry['linkEdit']; ?><?php endif; ?>
<?php foreach ($entry['data'] as $field=>$data): ?>
<?php if (strlen($data['raw']) && !in_array($field, array('catalog_name','parentJumpTo'))): ?>
<div class="field <?php echo $field; ?>">
<div class="value"><?php echo $data['value']; ?></div>
</div>
<?php endif; ?>
<?php endforeach; ?></div>
<?php endforeach; ?>
<script type="text/javascript">
//<![CDATA[
function gmap1_dynmap(gmap1) {
var gmap1_2_marker = new google.maps.Marker({
position: new google.maps.LatLng(<?php echo $entry[data]['googlemap']['value']; ?>),
map: gmap1,
title:'<?php echo $entry[data]['name']['value']; ?>',
});
var gmap1_2_infowindow = new google.maps.InfoWindow({
content: '<?php echo $entry[data]['name']['value']; ?><div class="routinglink"><a href="http://maps.google.com/HIER_DEN_LINK_FÜR_DIE_EXTERNE_ROUTENPLANERSEITE" onclick="window.open(this.href); return false;">Routenplanung</a><br /><form action="http://maps.google.com/maps" method="get" target="_new"><input type="hidden" name="daddr" value="<?php echo $entry[data]['street']['value']; ?>,<?php echo $entry[data]['plz']['value']; ?>,<?php echo $entry[data]['country']['value']; ?>" /><input type="hidden" name="ie" value="UTF8" /><input type="hidden" name="hl" value="de" /><input type="text" class="text" name="saddr" value="HIER DIE ADRESSE DES STARTPUNKTES " /><input type="submit" class="submit" value="ok" /></form></div>'
});
google.maps.event.addListener(gmap1_2_marker, 'click', function() {
gmap1_2_infowindow.open(gmap1,gmap1_2_marker);
});
gmap1_2_infowindow.open(gmap1,gmap1_2_marker);
}
//]]>
</script></div>
<?php else: ?>
<p class="info"><?php echo $this->noItemsMsg; ?></p>
<?php endif; ?>
Alle Codes wurden auf Grundlage von christians (soliden) Erweiterungen erstellt - Dennoch kann ich für einen einwandfreie Funktionalität nicht garantieren, da ich als "Pixelschubser" nicht weiß, inwiefern ich da aus solide den Status unsolide gemacht habe
Lesezeichen