2012-09-19 14 views
13

Ich möchte Geolocation und Richtung Funktion verwenden, aber es gibt google is not defined Fehler. Der Code ist wie folgt:Uncaught ReferenceError: Google ist nicht definiert

function loadScript() { 
      var script = document.createElement('script'); 
      script.type = 'text/javascript'; 
      script.src = "https://maps.googleapis.com/maps/api/js?key=mykey&sensor=true" + "&callback=initialize"; 
      document.body.appendChild(script); 
     } 

Es scheint, dass das LoadScript nicht funktioniert!

var mapOptions = { 
       zoom : 13, 
       mapTypeId : google.maps.MapTypeId.ROADMAP 
      }; 
      map = new google.maps.Map(document.getElementById('map_canvas'), mapOptions); 

Der Fehler springt von hier aus. Wer weiß, wie man es herausfinden kann? Ich brauche Schlüssel zu verwenden, um den Geolocation-Dienst zu bekommen, so kann ich einfach nicht

<script src="https://maps.googleapis.com/maps/api/js?sensor=true"></script> 
+0

verwenden beliebtesten Tags die Sprache und die Technologien, die Sie verwenden, um zu beschreiben. Dies wird Menschen helfen, Ihre Frage zu finden und zu beantworten. – Artemix

Antwort

11

ich es mit diesem Code auf meinem eigenen versuchte verwenden - es gut für mich gearbeitet

Dynamisch mit Schlüssel

<!DOCTYPE html> 
<html> 
<head> 
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no" /> 
    <style type="text/css"> 
     html { height: 100%; } 
     body 
     { 
      height: 100%; 
      margin: 0px; 
      padding: 0px; 
     } 
     #map_canvas { height: 100%;} 
    </style> 
    <script type="text/javascript"> 
     function initialize() { 
      var latlng = new google.maps.LatLng(-34.397, 150.644); 
      var myOptions = { 
       zoom: 8, 
       center: latlng, 
       mapTypeId: google.maps.MapTypeId.ROADMAP 
      }; 
      var map = new google.maps.Map(document.getElementById("map_canvas"), 
     myOptions); 
     } 
     var myKey = "ENTER_YOUR_KEY_HERE"; 
     function loadScript() { 
      var script = document.createElement('script'); 
      script.type = 'text/javascript'; 
      script.src = "https://maps.googleapis.com/maps/api/js?key=" + myKey + "&sensor=false&callback=initialize"; 
      document.body.appendChild(script); 
     } 
    </script> 
</head> 
<body onload="loadScript()"> 
    <div id="map_canvas" style="width: 100%; height: 100%"> 
    </div> 
</body> 
</html> 

Static ohne Schlüssel

... 
<script type="text/javascript" src="https://maps.google.com/maps/api/js?sensor=false"> 
</script> 
</head> 
<body onload="initialize()"> 
    ... 

Beim Surfen durchs Netz bin ich über eine wichtige Note gestolpert!

Google Maps JavaScript API v3

The Google Maps JavaScript API v3 does not require an API key to function correctly. However, we strongly encourage you to load the Maps API using an APIs Console key which allows you to monitor your application's Maps API usage. Learn how to use an APIs Console key.

Siehe Google Maps API

Also, anscheinend länger Sie nicht einen Entwicklerschlüssel benötigen! Ich versuchte es mit beiden - statisch kein Schlüssel und Dynamic mit Schlüssel - beide gearbeitet.

11

Wenn Sie Leute Fehler in der Konsole bekommen, dann hier ist die einfache Lösung, die ich anwendete.

die Skriptdateien in bestimmten Sequenz enthalten ..

<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?sensor=false"></script> 
<script type="text/javascript" src="js/jquery-1.8.3.min.js"></script> 

Sie müssen zuerst ‚maps.googleapis.com/maps/api/js?sensor=false‘ umfassen zuerst gehen dann für jQuery-Bibliothek und entfernen von unten beide (es wird funktionieren.) Ich hoffe es wird definitiv funktionieren.

0

Google ist nicht definiert bedeutet, dass Ihre Google Map Bibliothek nicht geladen ist, was bedeutet, dass Sie auf https oder http sind und Sie über http ot https anfordern, so ändern Sie es auf https oder http .... bedeuten, wenn Sie eingeschaltet sind http dann

<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?sensor=false"></script> 

bedeuten, wenn Sie auf https sind dann

<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?sensor=false"></script> 
Verwandte Themen