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-Key: 423165

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

Printed on: April 24, 2024 at 23:04 o'clock

Mitglied: 138810
Solution 138810 Feb 28, 2019 updated at 22:12:15 (UTC)
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>
Member: CeyxRemains
CeyxRemains Mar 01, 2019 at 06:47:45 (UTC)
Goto Top
Super, danke dir für deine rasche und freundliche Hilfe! Funkioniert wunderbar.