ceyxremains
Goto Top

Automatische Aktualisierung von Google-Maps Punkten

Hallo zusammen,

ich bekomme aus einer Anwendung in regelmäßigen Abständen ein CSV-File mit verschiedenen Adressen (schön aufgesplittet in Straße, PLZ und Ort). Nun möchte ich diese Adressen im Browser auf Google-Maps anzeigen und auch automatisiert aktualisieren lassen. Leider habe ich in diesem Bereich keine Erfahrung und wäre um jede Hilfe dankbar.

Evtl. gibt es eine Möglichkeit das File auf einem FTP oder ähnliches abzulegen und Google-Maps liest diesen bei jeder Aktualisierung aus?

Natürlich muss das nicht auf Google-Maps laufen, mir ist auch jede andere Map-Anwendung recht, die man mit Daten befüllen kann.

Danke schon mal für eure Mühe

Content-ID: 423165

Url: https://administrator.de/contentid/423165

Ausgedruckt am: 25.11.2024 um 03:11 Uhr

138810
Lösung 138810 28.02.2019 aktualisiert um 23:12:15 Uhr
Goto Top
Webserverpfad der CSV und Google Maps APIKEY anpassen, feddich.
<!DOCTYPE html>
<html>
  <head>
    <title>Simple Map</title>
    <meta name="viewport" content="initial-scale=1.0">  
    <meta charset="utf-8">  
    <style>
      #map {
        height: 100%;
      }
      html, body {
        height: 100%;
        margin: 0;
        padding: 0;
      }
    </style>
  </head>
  <body>
    <div id="map"></div>  
<script>
var map;
var csvpath = 'data.csv';  

function AddMarker(address) {
	var geocoder = new google.maps.Geocoder();
	geocoder.geocode({ 'address': address }, function (results, status) {  
	if (status == google.maps.GeocoderStatus.OK) {
	
	var marker = new google.maps.Marker({
           position: results.geometry.location,
           map: map,
           title: address
        });

	}
	});
}
function loadMarkers(url){
    $.get(url, function(data) {
        var arrLines = data.split('\n');  
        for(r = 1; r < arrLines.length;r++){
            var joined =''  
            var arrCols = arrLines[r].split(';');  
            for(c = 0; c < arrCols.length;c++){
                joined += arrCols[c].replace(/"/g,'') + ' ';  
            }
            AddMarker(joined);
        }
    });
}

function init() {
        map = new google.maps.Map(document.getElementById('map'), {  
          center: {lat: 50, lng: 7},
          zoom: 6
        });
        loadMarkers(csvpath);
}
    </script>
    <script src="https://maps.googleapis.com/maps/api/js?key=APIKEYHERE&callback=init" async defer></script>  
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>  
  </body>
</html>
CeyxRemains
CeyxRemains 01.03.2019 um 07:47:45 Uhr
Goto Top
Super, danke dir für deine rasche und freundliche Hilfe! Funkioniert wunderbar.