Google Maps Api V3

02/11/2013 - 18:21 von mmoeckli | Report spam
Hallo Zusammen

Ich ein Problem mir der Umstellung von Google Maps API von Version 2 auf 3.
Ich habe eine Umkreisssuche im Einsatz, welche zuerst den aktuellen Standort des Nutzers abfragt und dann korrigiert werden kann.

Ich habe es soweit geschafft, dass es funktioniert, wenn der Nutzer seinen Standort freigibt und es die Software unterstützt.
Wenn das nicht möglich ist, kann ich leider keine Karte einblenden.

Hat mir hier jemand einen Tipp?
Ich habe schon an diversen Orten gesucht, aber noch keine Lösung gefunden.
Besten Dank im Voraus

Meine Seite mit Google Maps API V2: http://www.benzin-preis.ch/umkreis.php
Mit Google Maps API V3: http://beta.benzin-preis.ch/umkreis.php

Mit bestem Dank und Gruess

Michael Möckli
 

Lesen sie die antworten

#1 Thomas PointedEars Lahn
02/11/2013 - 20:33 | Warnen spam
wrote:
^^^^^^^^^^^^^^^^^^
Ich ein Problem mir der Umstellung von Google Maps API von Version 2 auf
3. Ich habe eine Umkreisssuche im Einsatz, welche zuerst den aktuellen
Standort des Nutzers abfragt und dann korrigiert werden kann.

Ich habe es soweit geschafft, dass es funktioniert, wenn der Nutzer seinen
Standort freigibt und es die Software unterstützt. Wenn das nicht möglich
ist, kann ich leider keine Karte einblenden.
[…]
Meine Seite mit Google Maps API V2: http://www.benzin-preis.ch/umkreis.php
Mit Google Maps API V3: http://beta.benzin-preis.ch/umkreis.php



Dein Problem hat mit der Versionsumstellung direkt nichts zu tun. Wenn Du
die Developer-Tools Deines geringsten Misstrauens aktivierst (F12), wirst Du
feststellen, dass es in der neuen Version, wenn der Benutzer seinen Standort
nicht freigibt, in der *generierten* Zeile 104 von umkreis.php –

if (navigator.geolocation) {
// do fancy stuff
navigator.geolocation.getCurrentPosition(function(position){
initialize(position.coords);
}, function(){
/* Zeile 104 */
document.getElementById('pos').innerHTML = 'Deine Position konnte
leider nicht ermittelt werden';
});
}

– den Laufzeitfehler

| Uncaught TypeError: Cannot set property 'innerHTML' of null

gibt. Das liegt daran, dass es kein Element mit der ID „pos“ in diesem
Dokument gibt. Selbst wenn es eines gàbe, wàre es zu diesem Zeitpunkt noch
nicht geparst und document.getElementById(…) würde auch dann „null“
(jedenfalls aber keine Objektreferenz) als Rückgabewert liefern.

Hat mir hier jemand einen Tipp?



Du musst dafür sorgen, dass es ein Element mit der ID „pos“ in dem Dokument
gibt, und den Code in den Event-Listener für den load-Event des
document.body verschieben. Auch wàre es sinnvoller, auf jQuery zu
verzichten; weder willst Du das wirklich (unzuverlàssiger, inkompatibler
Bloat-Code), noch brauchst Du es hier (alle Browser, die jQuery aktuell
diesbezüglich noch unterstützt, können das was jQuery diesbezüglich kann,
von Haus aus nach oder kompatibel mit dem W3C-DOM).

Ich habe schon an diversen Orten gesucht, aber noch keine Lösung gefunden.



Wo hast Du wonach gesucht?

Michael Möckli



Trag das bitte in Deinen Absender ein und trenn es im Posting wie unten
gezeigt ab. Ausserdem solltest Du nicht das kaputte Google Groups zum
Posten im Usenet verwenden; nimm stattdessen KNode, SeaMonkey/Iceape oder
Thunderbird/Icedove.

<news:de-newusers-infos/google-poster/

(Dort nicht erwàhnt: Google bricht Zeilen nicht automatisch um. So kommt es
das Dein Posting entgegen der Usenet-Konventionen Zeilen mit mehr als 80
Zeichen Lànge hat. Genauer: die làngste Zeile in Deinem Posting ist 197
Zeichen lang.)

PointedEars

Twitter: @PointedEars2
Please do not Cc: me. / Bitte keine Kopien per E-Mail.

Ähnliche fragen