Antworten auf deine Fragen:
Neues Thema erstellen

Google API Javascript-Fehler

MyBad

localhorst

AW: Google API Javascript-Fehler

Wenn es immer noch nicht klappen sollte, richte dir bitte Webspace ein und hoste deine Website dort. Das macht die Fehlersuche für uns ungemein leichter.
 

Myhar

Hat es drauf

AW: Google API Javascript-Fehler

Bis jetzt können wir auch nicht Fehler suchen sondern müssen blind ins Blaue raten. Wenn einer der Tipps erfolg hat ist es gut, aber um mehr helfen zu können ist ein Minimalbeispiel hilfreich. :)
 

Philipp88

Nicht mehr ganz neu hier

AW: Google API Javascript-Fehler

Ich will kein neues Thema diesbezüglich eröffnen da es sich fast um das selbe handelt:
Kann man auch irgendwie die Straße übergeben statt die Koordinaten?
 

Philipp88

Nicht mehr ganz neu hier

AW: Google API Javascript-Fehler

Hi nochmal ich,

also Danke es klappt schonmal, dass Google mir ein JSON- Objekt ausgibt. Wie bekomme ich aber an die daten ran?
hab mal den ersten Code von hier genommen

Da kommt aber immer der Fehler "myJSONResult is not defined" :(
Muss ich nicht noch eine JSON Bibliothek einbinden?
 

Philipp88

Nicht mehr ganz neu hier

AW: Google API Javascript-Fehler

hi,

ich steh irgendwie auf den schlauch :'(

Code:
<script type='text/javascript' src=''></script>
<script type='text/javascript' src=''></script><script type='text/javascript'>      var objekt = JSON.parse(results);      var map;      function initialize() {        var myOptions = {          zoom: 16,          center: new google.maps.LatLng(-34.397, 150.644),          mapTypeId: google.maps.MapTypeId.ROADMAP        };        map = new google.maps.Map(document.getElementById('map_canvas'),            myOptions);      }    </script>

Als Fehler kommt "results is not defined":'(
 

Tr3icio

Nicht mehr ganz neu hier

AW: Google API Javascript-Fehler

HTML:
<script type='text/javascript' src='https://maps.googleapis.com/maps/api/geocode/json?address=01097+Heinrichstr. 4&sensor=false'></script>

Du holst zwar das Objekt, aber legst es nirgendwo ab. Da es nirgendwo abgelegt wird, ist es für deinen Browser dann auch nicht mehr interessant und wird verworfen.
Du müsstest das Objekt z.B. über Ajax holen. Evtl. bietet die Maps API auch eine Methode dafür, aber so kannst du das Objekt im Moment nicht nutzen.
 

mindraper

me[code].Java(Script)

AW: Google API Javascript-Fehler

hi.

ich sehe in der dev-page von google mit ausnahme einer for-schleife kein einziges stück javascript. egal. :)

was Tr3icio versucht hat dir zu sagen ist, dass du das json-object via src-attribut des script-tags zwar anforderst, du aber nicht damit arbeiten kannst. um damit zu arbeiten, müsstest du das object während der laufzeit des scripts anfordern und auswerten.

dies ginge (möglicherweise, hab' mich noch nicht mit der maps-api auseinander gesetzt) via eines sog. ajax-requests. als ajax-request wird eine (i.d.r.) asynchron verarbeitete anfrage an einen server bezeichnet, der daraufhin eine antwort zurück schickt. asynchron ist diese anfrage deshalb, weil sie - wie gesagt - während der laufzeit eines scriptes geschieht und nicht das weiterlaufen desselben verzögert (obwohl es auch synchrone ajax-requests gibt!).

ich gebe zu, dass ich mir nicht alles durchgelesen habe, was mittlerweile unter diesem thread gepostet wurde. daher "schieße" ich jetzt auch ein wenig ins blaue hinein.

nun, wie dem auch sei: da du ja so oder so jquery einsetzt, ist das erstellen eines solchen requests extrem einfach. das könnte z. b. so ausschauen:

JAVASCRIPT
PHP:
// die anfrage (den request) erstellen
var request = $.get
   'https://maps.googleapis.com/maps/api/geocode/json', 
   {
      address: 01097+Heinrichstrasse+4, 
      sensor: false
   }
);

// falls der request erfolgreich war, führe folgende function aus
request.success(function (returnedData) {
   // returnedData ist die antwort des servers, ergo: das json-object. 
   // damit kannst du (theoretisch) arbeiten.
});

// falls es einen fehler gab, führe folgende function aus
request.error(function () {
   alert('Houston, we have a problem here!');
});

möglicherweise wird das ganze dann dennoch nicht funktionieren, weil es sich zumindest theoretisch um sog. cross-domain-scripting handelt, dass meist sehr effektiv von der same-origin-policy unterbunden wird.
ich kann mich in diesem fall aber auch irren. fazit: testen. :)

falls es tatsächlich nicht funktioniert, wäre ein weiteres stichwort: JSONP (JSON with Padding). der große G gibt da bereitwillig auskunft drüber.

sollte der wunsch oder die notwenigkeit bestehen, diese daten öfter als einmal abzufragen (was sich meiner logik widersetzt, oder bewegen sich häuser neuerdings?), solltest du deine ajax-requests von einer funktion ausführen lassen:

JAVASCRIPT
PHP:
// den request erstellen und das xhr-object zurück geben
function getRequest(url_param, paramsobject_param) {
   return $.get(url_param, paramsobject_param);
};

// request ist das xhr-object
var request = getRequest(
   'https://maps.googleapis.com/maps/api/geocode/json', 
   {
      address: 01097+Heinrichstrasse+4, 
      sensor: false
   }
);

// siehe oben
request.success(function (returnedData) {
   // ...
});

request.error(function () {
   alert('Houston, we have a problem here!');
});

damit hättest du die möglichkeit, deine requests an unterschiedlichsten stellen im code zu streuen, evtl. änderungen (z.b. von GET zu POST) aber nur an einer einzigen stelle vollziehen zu müssen. ist letzten endes dein bier.

generell möchte ich dir aber empfehlen (auch wenn das jetzt anmaßend klingen mag, es ist definitiv für dich von vorteil!), zumindest die tools die du nutzen willst, ein wenig genauer unter die lupe zu nehmen - sprich: dich in die api einarbeiten. noch besser wäre, dich zunächst einmal mit javascript im allgemeinen auseinander zu setzen. damit hättest du dir warscheinlich eine lange wartezeit auf entsprechende antworten erspart bzw. könntest letzten endes viele probleme auch selbst lösen. das soll natürlich nicht bedeuten, dass dir hier nicht gerne geholfen wird! nur ist es meiner erfahrung nach mehr als frustrierend vor code zu sitzen, den man nicht versteht und fehler suchen zu müssen, die man logischerweise dann noch weniger versteht. und die art deiner fehler bzw. fragen sagt mir, dass du entweder noch nicht lange mit javascript arbeitest oder es bisher noch gar nicht getan hast.
entschuldige bitte, falls ich mich mit dieser beobachtung täusche!

hoffentlich hilft dir dieser post etwas weiter :)

gruß
 

Philipp88

Nicht mehr ganz neu hier

AW: Google API Javascript-Fehler

Leider klappt der code nicht ganz:mad:

Ich habe trotzdem mal den Ajax Ansatz genommen.

HTML:
<script type='text/javascript'>
      geocode();
 
      function geocode() {
         var url = 'https://maps.googleapis.com/maps/api/geocode/json?address=01097+Heinrichstr. 4'; 
        var sensor='&sensor=false'; 
        var callback='&callback=?';
 
        $.getJSON(url+sensor+callback, function(json) {
         alert(1);
       }); 
     } 
</script>

Aber es erscheint keine alert- Box bei
HTML:
$.getJSON(url+sensor+callback, function(json) {
        alert(1);
        });

Als ob er die function nicht aufruft:mad:

Warum denn nicht?
 
Zuletzt bearbeitet:

Duddle

Posting-Frequenz: 14µHz

AW: Google API Javascript-Fehler

Ich weiß nicht wie gut dein Englisch ist, aber sowohl in meiner verlinkten Antwort als auch in deinem Link steht die exakte Fehlerursache:
Anfragen mit "callback=" werden als JSONP behandelt. JSONP wird von der Google-API die du benutzt nicht unterstützt. Alles andere kollidiert mit der Same-Origin-Policy.

Ergo nimmst du den GeoCoder der API v3. Das wird sehr umfangreich beschrieben. Ein Mini-Beispiel wäre:

HTML:
<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?sensor=false"></script>
<script type='text/javascript'>
    var myAddressQuery = '01097+Heinrichstr 4';
    var geocoder = new google.maps.Geocoder(); 
    geocoder.geocode({ 
	address : myAddressQuery, 
	region: 'no' 
	    }, function(results, status){
		console.log(results); // vorher FireBug aktivieren und in die Konsole schauen
		console.log(status);
    });
</script>


Duddle
 

Philipp88

Nicht mehr ganz neu hier

AW: Google API Javascript-Fehler

ich hab jetzt folgenden Code geschrieben
HTML:
<script type='text/javascript' src='https://maps.google.com/maps/api/js?sensor=false'></script><script type='text/javascript' src='https://maps.googleapis.com/maps/api/js?sensor=false'></script><script type='text/javascript'>
      var map;
      function initialize() {
                geocoder = new google.maps.Geocoder();
                var latlng = new google.maps.LatLng(-34.397, 150.644);
                var myOptions = {
                zoom: 8,
                center: latlng,
                mapTypeId: google.maps.MapTypeId.ROADMAP
                };
                map = new google.maps.Map(document.getElementById('map_canvas'),
                myOptions);
      }
      function codeAddress() {
                var myAddressQuery = '09111+Bahnhofstr. 6';
                var geocoder = new google.maps.Geocoder();
                var result = geocoder.geocode({
                    address : myAddressQuery,
                    region : 'no'
                    }, 
                    function(results, status){
                        map.setCenter(results[0].geometry.location);
                        var marker = new google.maps.Marker({
                            map: map,
                            position: results[0].geometry.location
                        });
                    });
      }
    </script>

leider wird meine Karte dennoch mit den falschen latlng werten angezeigt (google Standard Sydney)
im console.log werden die latlng-Werte korrekt angezeigt.
wäre sehr dankbar, wenn jemand helfen könnte
mfg philipp
 

Duddle

Posting-Frequenz: 14µHz

AW: Google API Javascript-Fehler

Du scheinst den Code nicht zu verstehen, den du benutzt. Das kann unter anderen Umständen Gefahren bergen.

Stell dir folgende Fragen: was passiert beim Aufruf der Seite? Welche Funktion wird aufgerufen? Welche Variablen werden dabei initialisiert? Was passiert beim Klick auf den Geocode-Knopf (den du sicherlich aus dem Google-Code mit übernommen hast)? Welche Funktion wird aufgerufen? Welche Variablen werden dabei initialisiert?

Versuch Zeile für Zeile zu übersetzen und dir zu erklären. Dann siehst du, was wann nicht deinen Erwartungen entspricht.

Das Beispiel verhält sich bei mir exakt wie es der Code beschreibt. Solange du den Ablauf nicht verstehst, wirst du bei jedem kleinen Problem wieder in das Forum kommen müssen.


Duddle
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.635
Beiträge
1.538.449
Mitglieder
67.556
Neuestes Mitglied
Ggirl
Oben