Catalog und Google Maps verknüpfen (z.B. mit dlh_googlemaps)

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • christian
    Alter Contao-Hase
    • 15.06.2009
    • 1039

    #46
    Gerne!

    Ich glaube, ich muss nochmal irgendwo dick hinschreiben, dass man aufpassen muss, nicht Teile aus V2 mit Teilen aus V3 zu vermischen. Das Google-API hat sich hier total geändert.
    Contao-Partner am Niederrhein
    Templating - Komplettservice - Erweiterungen
    Infos: http://delahaye.de

    Kommentar

    • pandroid
      Contao-Fan
      • 15.08.2009
      • 316

      #47
      Zitat von JoergK Beitrag anzeigen
      Ja, funktioniert prima, daran hatte ich garnicht gedacht.
      Hallo JoergK,

      ich stehe vor dem gleichen Problem. Über mehrere bearbeiten, klappt es bei mir leider nicht. Hast Du noch etwas besonderes dafür angestellt?

      Grüße
      PAndroid
      LG
      PAndroid

      Kommentar

      • Chris87
        Contao-Fan
        • 08.12.2009
        • 719

        #48
        Hallo,

        ich bin nach der Anleitung von cubano vorgegangen, allerdings werden bei mir keine Daten auf der Karte ausgegeben. Im Quelltext sieht meiner Meinung nach alles korrekt aus.

        Das dlh_googlemaps Template muss ja nicht mehr angepasst werden oder?

        Hier der Link zur Seite: http://christoph-schiffer.de/aksh/in...chtskarte.html

        Nachtrag: Ich glaube es liegt daran, dass sich die API geändert hat. Ich muss mir das nochmal ansehen. Hat sich also vorerst erledigt.

        Gruß
        Chris
        Zuletzt geändert von Chris87; 28.05.2011, 12:49.

        Kommentar

        • sonja
          Contao-Nutzer
          • 20.06.2009
          • 189

          #49
          Kodierung nicht möglich?

          Hallo liebe Community,
          ich habe mir gerade sämtliche Einträge recht genau durchgelesen - womöglich hapert es auch an meinen mangelnden php-Kentnissen - denn ich komme jetzt auch nicht weiter. Möchte Katalog-Einträge mit einer Google-Map versehen.
          Habe - wie beschrieben - dlh_googlemaps installiert. Neue Map angelegt - Adresse und Koordinaten freigelassen.
          Katalog um das Feld "koordinaten" erweitert. Das Template catalog_full angepasst. Die Koordinaten werden - wie es im Quelltext aussieht - auch "erkannt" allerdings nicht dem dlh_googlemap-Modul übergeben. Dort steht "Kodierungnichtmöglich.".
          Kann mir hier jemand mit einem angepassten catalog_full template weiterhelfen? Oder kann es noch an etwas anderem liegen?

          contao version: 2.10.1
          seite: http://tinyurl.com/dxvpxdm

          Kommentar

          • christian
            Alter Contao-Hase
            • 15.06.2009
            • 1039

            #50
            Hallo Sonja,

            die Koordinaten solltest Du nicht freilassen, die werden für die Kartenmitte benötigt. Die Karte sollte also zunächst auch ohne die dynamisch anzuzeigenden Dinge vorhanden sein. Auf welchen Punkt die Karte zentriert ist, ist egal, das kannst Du pro Datensatz nachher ändern.

            Über das modifizierte Katalogtemplate gibst Du dann nur die Ergänzungen aus. Wie das im Endeffekt aussehen soll, siehst Du im Handbuch. Genau so einen Block muss Dein Katalogtemplate ausgeben - natürlich angepasst an die ID Deiner Map. Wenn die ID 2156 wäre, müsste dort "gmap2156_dynmap(gmap2156)" statt "gmap1_dynmap(gmap1)" stehen.

            Grüße,

            Christian
            Contao-Partner am Niederrhein
            Templating - Komplettservice - Erweiterungen
            Infos: http://delahaye.de

            Kommentar

            • sonja
              Contao-Nutzer
              • 20.06.2009
              • 189

              #51
              hallo christian,
              vielen Dank für den Tipp mit den Koordinaten und den Hinweis auf das Codeschnipsel im Handbuch - jetzt scheint's zu funktionieren! Feine Sache :-).

              LG
              Sonja

              Kommentar

              • Hauge
                Contao-Fan
                • 31.01.2010
                • 643

                #52
                Codeschnipsel für Cataloglister + Infobox - Frage zu unterschiedliche Marker

                Hallo zusammen,

                hab ein bisschen rumprobiert und poste hier mal mein Ergebnis. Als Pixelschubser hab ich im Code nicht so die Erfahrung deshalb meine Bitte: Kann sich das von den erfahrenen Leuten mal jemand anschauen - funktionieren tut's zumindest:

                Mit folgendem Code lässt sich im Listermodul neben der bloßen Markierung auch die Infobox zum jeweiligen Punkt öffnen:
                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 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
                        });
                    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>
                Nun meine Frage: kann ich über dieses Template auch für verschiedene Kategorien unterschiedliche Marker anzeigen lassen? (z.B. Museen / Gastronomie / Einkaufsmöglichkeiten etc.)

                Gruß
                Hauge
                Zuletzt geändert von Hauge; 07.01.2012, 10:34. Grund: Korrektur - Code

                Kommentar

                • christian
                  Alter Contao-Hase
                  • 15.06.2009
                  • 1039

                  #53
                  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).

                  Grüße,

                  Christian
                  Contao-Partner am Niederrhein
                  Templating - Komplettservice - Erweiterungen
                  Infos: http://delahaye.de

                  Kommentar

                  • Nina
                    Contao-Urgestein
                    • 04.06.2009
                    • 4755

                    #54
                    Ich hab hier nochmal den Ablauf zusammengestellt
                    • Ich installier dlh_googlemaps und lege darin eine allgemeine Karte an (z. B. ausgerichtet auf Deutschland also Koordinaten 51.151786,10.415039 und Zoom-Stufe 5).
                    • Ich binde diese Karte als Inhaltselenebt auf der Seite ein, auf der auch der Catalog-Reader liegt.
                    • Ich binde in das catalog_full-Template den Karten-Code ein (habe mich jetzt am Beispiel von Christoph orientiert). Dabei muss man darauf achten, dass man im Katalog auch die entsprechend benannten Koordinatenfelder hat (ich habe jeweils eins für Längen- und Breitengrad gemacht) und dass man im Code jedes Vorkommen von gmap1 mit der Nr abändert, die die Karten-ID in dlh_googlemaps ist. Außerdem lasse ich beim Marker noch den Namen der Firma und die Website ausgeben (muss natürlich auch im Catalog jeweils als Feld vorkommen).


                    PHP-Code:
                    <!-- indexer::stop -->
                    <div class="mod_cat_googlemaps block">
                    
                    <?php
                      // die Koordinaten-Variable befuellen
                      $cat_glob_coords = $entry['data']['geocoord_breitengrad']['value'] . "," . $entry['data']['geocoord_laengengrad']['value'];
                    ?>
                    
                    
                    <script type="text/javascript">
                    <!--//--><![CDATA[//><!--
                    
                    function gmap1_dynmap(gmap1) {
                     
                        // Kartenmitte mit den Koordinaten neu ausrichten
                        gmap1.center = new google.maps.LatLng(<?php echo $cat_glob_coords; ?>);
                        
                        // Zoomstufe überschreiben
                        gmap1.zoom = 10;
                        gmap1.mapTypeId=google.maps.MapTypeId.ROADMAP;
                    
                    // Markierung 
                        var gmap1_0_marker = new google.maps.Marker({
                        position: new google.maps.LatLng(<?php echo $cat_glob_coords; ?>),
                        map: gmap1
                        });
                        var gmap1_0_infowindow = new google.maps.InfoWindow({
                        content: '<?php echo $entry['data']['name']['value']; ?><br><?php echo $entry['data']['website']['value']; ?>',
                        });
                        google.maps.event.addListener(gmap1_0_marker, 'click', function() {
                        gmap1_0_infowindow.open(gmap1,gmap1_0_marker);
                        });
                        
                    }
                    //--><!]]>
                    </script>
                    </div>
                    
                    <!-- indexer::continue -->

                    Kommentar

                    • olivgruen
                      Contao-Nutzer
                      • 26.07.2009
                      • 64

                      #55
                      Hallo Nina und alle anderen Fachkundigen,

                      nachdem ich zufällig über die Verknüpfung von Catalog&GoogleMaps gestolpert bin, wollte ich das für meinen Sportverein gleich mal ausprobieren. Irgendwie mag es aber nicht recht laufen - die Karte bleibt leer. Was ich gemacht habe:
                      1. catalog installiert, Katalog mit Feldern für Name, Längen- und Breitengrad erstellt
                      2. Katalog-Leser (hatte ich irgendwo vorher hier gelesen) mit catalog_full-Template erstellt und in Artikel eingebunden
                      3. catalog_full nach deinen Vorgaben angepasst, 'gmap1' durch 'TestMap' ersetzt, s.u.
                      4. dlh_googlemaps installiert, eine Map mit dem Namen 'TestMap' erstellt, inkl. Koordinaten fürs Zentrum vergeben und diese in einem Artikel eingebunden


                      Ergebnis: KatalogLeser sagt 'Katalog-Eintrag nicht gefunden' - Karte ist leer.

                      Bin mir nicht sicher, welche die Map-ID ist. Eigentlich ist es auch die 1, beeinflusst der Name der Map den Code (gmap)?

                      Any ideas?

                      Besten Dank im Voraus!
                      Kerstin

                      PHP-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="label"><?php echo $data['label']; ?></div>
                          <div class="value"><?php echo $data['value']; ?></div>
                      </div>
                      <?php endif; ?>
                      <?php endforeach; ?>
                      </div>
                      <?php endforeach; ?>
                      </div>
                      
                      <?php else: ?>
                      <p class="info"><?php echo $this->noItemsMsg; ?></p>
                      <?php endif; ?>
                      
                      <!-- indexer::stop --> 
                      <div class="mod_cat_googlemaps block"> 
                      
                      <?php 
                        // die Koordinaten-Variable befuellen 
                        $cat_glob_coords = $entry['data']['geocoord_breitengrad']['value'] . "," . $entry['data']['geocoord_laengengrad']['value']; 
                      ?> 
                      
                      
                      <script type="text/javascript"> 
                      <!--//--><![CDATA[//><!-- 
                      
                      function gmap1_dynmap(gmap1) { 
                        
                          // Kartenmitte mit den Koordinaten neu ausrichten 
                          gmap1.center = new google.maps.LatLng(<?php echo $cat_glob_coords; ?>); 
                           
                          // Zoomstufe überschreiben 
                          gmap1.zoom = 10; 
                          gmap1.mapTypeId=google.maps.MapTypeId.ROADMAP; 
                      
                      // Markierung  
                          var gmap1_0_marker = new google.maps.Marker({ 
                          position: new google.maps.LatLng(<?php echo $cat_glob_coords; ?>), 
                          map: gmap1 
                          }); 
                          
                          google.maps.event.addListener(gmap1_0_marker, 'click', function() { 
                          gmap1_0_infowindow.open(gmap1,gmap1_0_marker); 
                          }); 
                           
                      } 
                      //--><!]]> 
                      </script> 
                      </div> 
                      
                      <!-- indexer::continue -->

                      Kommentar

                      • MacKP
                        Contao-Yoda
                        • 15.06.2009
                        • 13315

                        #56
                        Hallo olivgruen,
                        dein erster Fehler:
                        Du hast nur einen Catalog-Leser. Der weiß aber so nicht welches Item der darstellen soll.
                        Du brauchst eine Catalog-Liste. Von der kannst du dann weiterleiten auf den Leser um ein einzelnes Item darzustellen.

                        Viele Grüße
                        Contao Pool | C-C-A | MetaModels | [Internetseite -> Mediendepot Ruhr]
                        [Arbeitet bei -> Paus Design & Medien]
                        "I can EXPLAIN it to you, but I can't UNDERSTAND it for you."

                        Kommentar

                        • olivgruen
                          Contao-Nutzer
                          • 26.07.2009
                          • 64

                          #57
                          Guten Morgen MacKP,

                          ok, hab jetzt eine Liste, einen Leser und eine Map im Artikel (in dieser Reihenfolge), Karte ist leider immer noch leer.
                          Mein Ziel ist es, alle Katalogelemente in der Karte anzuzeigen - das sollte ja möglich sein

                          Hab leider erst morgen wieder Zeit, weiterzubasteln, ist also nicht sooo eilig von meiner Seite aus.

                          Viele Grüße,
                          Kerstin

                          Kommentar

                          • MacKP
                            Contao-Yoda
                            • 15.06.2009
                            • 13315

                            #58
                            Alles auf einer Seite???

                            Naja, ich weiß ansonsten nicht genau wie die Verknüpfung von Karte und deinem Katalog so gemacht werden muss.. da hilft dann nur Anleitung lesen glaub ich ;-)

                            Viele Grüße
                            Contao Pool | C-C-A | MetaModels | [Internetseite -> Mediendepot Ruhr]
                            [Arbeitet bei -> Paus Design & Medien]
                            "I can EXPLAIN it to you, but I can't UNDERSTAND it for you."

                            Kommentar

                            • olivgruen
                              Contao-Nutzer
                              • 26.07.2009
                              • 64

                              #59
                              Zitat von MacKP Beitrag anzeigen
                              Alles auf einer Seite???
                              So hatte ich es auf Seite 1 dieses Theras verstanden, sofern du mit alles Leser, Liste und Map meinst. Bzw kam die Liste ja erst von dir. Und wenn du mit alles alle Koordinaten aller Katalogelemente meinst: ja, auch das hatte ich so auf S. 1 verstanden.

                              Anleitung lesen - welche denn? Der Thread ist grad meine Anleitung für die Verknüpfung

                              Kommentar

                              • MacKP
                                Contao-Yoda
                                • 15.06.2009
                                • 13315

                                #60
                                Hallo olivgruen,
                                ich habs mir jetzt extra noch mal durchgelesen. Es steht nirgendwo, das man den Leser und die Liste auf einer Seite haben sollte.
                                Anleitungen zum Catalog: http://de.contaowiki.org/Kategorie:Catalog

                                An sich funktioniert das wie ich schon beschrieben habe. Das ist genau wie bei News/FAQ etc. Liste ist auf einer Seite und Leser auf einer 2.

                                Du kannst aber auch bei richtiger Anwendung die Google Map auf der Lister Seite einbauen (dann sollten mehrerere zu sehen sein).

                                Viele Grüße
                                Contao Pool | C-C-A | MetaModels | [Internetseite -> Mediendepot Ruhr]
                                [Arbeitet bei -> Paus Design & Medien]
                                "I can EXPLAIN it to you, but I can't UNDERSTAND it for you."

                                Kommentar

                                Lädt...