2017-07-09 4 views
0

Ich kann die Google Map nicht auf meinem Monitor sehen, aber wenn ich den gesamten Code in eine einzige HTML-Datei lege und Skript-Tags verwende, funktioniert es.Google Map lädt nicht mit separaten Dateien

Index.html Datei ist:

<!DOCTYPE html> 
<html> 
    <head> 
    <title>Simple Map</title> 
    <meta name="viewport" content="initial-scale=1.0"> 
    <meta charset="utf-8"> 
    <link rel="stylesheet" href="style.css"> 
    <script src="script.js"></script> 
    </head> 
    <body> 
    <div id="map"></div> 

    <script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyBIpWlWVDAqVEyW20SX6MfThL-iz9IWeQA&callback=initMap" 
    ></script> 
    </body> 
</html> 

script.js Datei ist:

function initMap() { 

    var map; 
      map = new google.maps.Map(document.getElementById('map'), 
      { 
       center: { lat: -34.397, 
         lng: 150.644 
         }, 
       zoom: 8 
      } 
      ); 
      } 

style.css Datei ist:

* element that contains the map. */ 
    #map { 
    height: 100%; 
    } 
    /* Optional: Makes the sample page fill the window. */ 
    html, body { 
    height: 100%; 
    margin: 0; 
    padding: 0; 
    } 
+0

Haben Sie das Konsolenprotokoll auf Fehler überprüft? – navigator

+0

Ja, keine Fehler im Konsolenprotokoll –

+0

Haben Sie in Ihrem Browser überprüft, ob der Kartenausschnitt mit Inhalt gefüllt ist? – arifCee

Antwort

0
#map { width:100%; height:200px;} 

oder ganz zu füllen Fenster:

#map { width:100%; min-height:100%;} 

wenn es das erste Kind mit min-height Eigenschaft ist. PS. Sie können auch versuchen, einen Überlauf hinzuzufügen: versteckt; für das zweite Beispiel.

0

Wenn Sie script.js ausführen, versucht es das div mit der ID = "map" zu finden. Aber es ist nicht initialisiert noch .So, müssen Sie zwei Dinge tun:

  1. Fügen Sie die Datei script.js nach Ihre <div id="map"></div>
  2. Anruf initMap()nach der Seite geladen. Z.B. so (am Ende) <script>initMap()</script>
+0

Nicht funktioniert Bitte helfen –

0

Ich konsolidiert Ihr HTML und es funktioniert gut. Aus irgendeinem Grund funktioniert Ihre Callback-Funktion nicht in einer separaten Datei.

<!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> 
    <script> 
    function initMap() { 
    var map; 
    map = new google.maps.Map(document.getElementById('map'), 
    { 
     center: { lat: -34.397, lng: 150.644}, 
     zoom: 8 
    } 
    ); 
    } 
    </script> 
    </head> 
    <body> 
    <div id="map"></div> 
    <script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyBIpWlWVDAqVEyW20SX6MfThL-iz9IWeQA&callback=initMap" 
    ></script> 
    </body> 
</html> 
+0

Durch etwas anderes meinst du ??? –

+0

Scheint Callback-Funktion funktioniert nicht beim Aufruf in einer separaten Datei. Obwohl keine Fehler gemeldet wurden. – navigator

0

Nach der Dokumentation: Google Maps APIs, setzen Sie Ihre JavaScript (script.js) nach Ihrer Karte.

<div id="map"></div> 
<script src="script.js"></script> 
<script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyBIpWlWVDAqVEyW20SX6MfThL-iz9IWeQA&callback=initMap" async defer></script> 

bearbeiten: Vergessen Sie nicht, am Ende des zweiten Skript "async verschieben".

+0

immer noch nicht funktioniert auch nach der Umsetzung der oben genannten Änderungen –

+0

Ok, es ist sehr seltsam, ich kopiere hinter Ihrem Code in meinem "www" -Ordner und es funktioniert direkt. Pfade zu "style.css" und "script.js" sind korrekt? Vielleicht ist JavaScript in Ihrem Browser deaktiviert ... –