Ankündigung

Einklappen
Keine Ankündigung bisher.

Google Map - clickevent

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Google Map - clickevent

    Hallo,
    ich habe für ein Kundenprojekt das customelement Google Map eingesetzt. Als Template verwende ich customelement_gmap.html5.
    Die Darstellung klappt soweit - aber nun bittet der Kunde um folgende Anpassung: obwohl er seine Firmenadresse bei Google hinterlegt hat wird der Firmenname nicht angezeigt ... leider ist in unmittelbarer Nähe sein Mitbewerb, der wiederum aber sichtbar ist.
    Via Google maps ist der Firmenname auch sichtbar. In der customelement eben nicht ...
    Ich habe nun die Adressbeschreibung in der 'Beschreibung' eingetragen » diese wird aber erst über den click-event bei Klick auf das Icon sichtbar.

    - wie müsste das template angepasst werden, dass die Firmenbeschreibung (wie auch via Google maps) immer sichtbar ist? ... sofern dies die API zulässt
    - wie müsste das template angepasst werden, damit die 'Beschreibung' immer sichtbar/aufgeklappt ist? ... das wäre die Alternative, sofern die API obiges nicht zulässt

    Mit ist auch aufgefallen, dass das Icon in beiden Varianten versetzt dargestellt wird » Google maps am rechten Gebäude-Ende, customelement am linken Gebäude-Ende

    Hier geht's zur Entwicklerseite zum vergleichen: http://alucms.konfliktsch.eu/index.php/kontakt.html
    In Verwendung: 'Eclipse'

    Danke für die Hilfestellung
    Grüsse
    Bernhard
    Zuletzt geändert von derRenner; 24.03.2016, 21:00.

  • #2
    Hallo,
    ich habe mir soeben, zumindest für den workaround, die Antwort selbst gegeben:
    Code:
     .....
       // place markers
        for(var i = 0; i < locations.length; i++)
        {
            (function(location) // must encapsule to avoid wrong index in geocoder callback
            {
                // need the geocoder to find coordinates
                if(location.latitude == undefined || location.longitude == undefined)
                {
                    var geocoder = new google.maps.Geocoder;
                    var address = location.street + ',' + location.zipcode + ',' + location.city + ',' + location.country;
                    geocoder.geocode({'address': address}, function(results, status)
                    {
                        var marker = new google.maps.Marker({
                            map: map,
                            position: results[0].geometry.location,
                            title: location.markerTitle,
                            icon: location.icon
                        });
                        [COLOR=#FF0000]// showing infowindow onload - begin[/COLOR]
    [COLOR=#FF0000]                    infowindow.setContent('<div class="gmap_infotext">'+location.infotext+'</div>');
                        infowindow.open(map,marker);[/COLOR]
                        [COLOR=#FF0000]// showing infowindow onload - end[/COLOR]
                        google.maps.event.addListener(marker, 'click', function()
                        {
                            // go to marker position and zoom
                            map.panTo(marker.position);
                            map.setZoom(17);
                            infowindow.setContent('<div class="gmap_infotext">'+location.infotext+'</div>');
                            infowindow.open(map, marker);
                        });
                        
                        centers_lat.push(results[0].geometry.location.lat());
                        centers_lng.push(results[0].geometry.location.lng());
                     });
                }
                // location has coordinates.
                else
    ......

    Kommentar

    Lädt...
    X