Ergebnis 1 bis 3 von 3

Thema: [GELÖST]GoogleMaps API ändert Geo-Koordinaten und setzt Markierung immer auf ein Haus

  1. #1
    Contao-Fan Avatar von marcos
    Registriert seit
    09.02.2011.
    Ort
    Schweiz
    Beiträge
    575
    User beschenken
    Wunschliste

    Frage [GELÖST]GoogleMaps API ändert Geo-Koordinaten und setzt Markierung immer auf ein Haus

    Hallo zusammen

    Bei einer Immo-Seite, die mit Contao umgesetzt wurde, ist eine Google-Maps Karte für Bauländer eingebaut. Die Geo-Koordinaten für die Makrierung kommen aus einer Backend-Tabelle. Das Problem ist nun, dass Google bzw. wahrscheinlich die Google-API die Geo-Koordinaten so verändert, dass die Markierung immer auf ein Haus zeigt.

    In der DB-Tabelle stehen z.B. folgenden Geo-Koordinaten: 47.2437,8.46842 (diese Geo-Koordinaten verweisen auf ein Bauland, also eine Wiese ohne Haus)
    Bei der Google Maps Karte auf meiner Seite zeigt die Markierung aber auf das nächstgelegene Haus. Wenn ich im Quellcode nachschaue, hat Google die Geo-Koordinaten minimal verändert auf: 47.243514,8.468582

    Kann man Google Maps irgendwie angeben, dass er genau die mitgegebenen Geo-Koordinaten nehmen und nicht ein Haus in der Nähe suchen soll? Kennt sich jemand damit aus?

    Vielen Dank und Gruss
    Marco
    Geändert von marcos (19.11.2015 um 15:57 Uhr)

  2. #2
    Contao-Fan Avatar von marcos
    Registriert seit
    09.02.2011.
    Ort
    Schweiz
    Beiträge
    575
    User beschenken
    Wunschliste

    HTML geocoder war das Problem

    Das Problem konnte gelöst werden. Zur Info, falls jemand das gleiche Problem hat:

    Das Problem war, dass die Geo-Koordinaten dem google.maps.Geocoder zugewiesen wurden. Dieser liefert keine exakten Ergebnisse, wenn man bei var geocoderOptions.address Geo-Koordinaten übergibt. Darum habe ich das Script nun umgebaut, dass wenn Geo-Koordinaten vorhanden sind, der Geocoder gar nicht zum Einsatz kommt.

    Vorher:
    PHP-Code:
    var map = new google.maps.Map(document.getElementById('<?php echo $this->selector?>'),mapOptions);
      
    var geocoder = new google.maps.Geocoder();
    var geocoderOptions = {};
    <?php if($this->hasCoordinates): ?>
    geocoderOptions.address = '<?php echo $this->latitude?>,<?php echo $this->longitude?>'; <?php //hier dürfen die Geo-Koordinaten nicht zugewiesen werden ?>
    <?php 
    else: ?>
    var geocoderOptions = {};
    geocoderOptions.address = address;
    <?php endif; ?>

    geocoder.geocode(geocoderOptions, function(results, status) 
    {
      if (status == google.maps.GeocoderStatus.OK) 
      {
        map.setCenter(results[0].geometry.location);
        var marker = new google.maps.Marker(
        {
            map: map,
            position: results[0].geometry.location
        });
      } 
    });

    Neu:
    PHP-Code:
    var map = new google.maps.Map(document.getElementById('<?php echo $this->selector?>'),mapOptions);

    <?php if($this->hasCoordinates): ?>

        <?php //wenn Geo-Koordinaten vorhanden sind ?>
        var pos = {lat:<?php echo $this->latitude?>, lng:<?php echo $this->longitude?>};
        map.setCenter(pos);
        var marker = new google.maps.Marker({
            map: map,
            position: pos
        });

    <?php else: ?>    

        <?php //ohne Geo-Koordinaten dafür mit Adresse ?>
        var geocoder = new google.maps.Geocoder();
            var geocoderOptions = {}; 
        var geocoderOptions.address = address;
        
        geocoder.geocode(geocoderOptions, function(results, status) 
        {
            if (status == google.maps.GeocoderStatus.OK) 
            {
                map.setCenter(results[0].geometry.location);
                var marker = new google.maps.Marker(
                {
                      map: map,
                      position: results[0].geometry.location
                });
            } 
        });

    <?php endif; ?>
    Geändert von marcos (24.11.2015 um 09:43 Uhr)

  3. #3
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.116
    Partner-ID
    10107

    Standard

    Poste das auch auf GitHub. Wenn man Koordinaten eingibt will man ja meist auch den Marker genau dort haben, nehme ich an.

    // sorry, dachte es geht hier um dlh_googelmaps
    Geändert von Spooky (20.11.2015 um 11:33 Uhr)

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •