2010-08-10 10 views
8

Ich möchte die Breite und Länge des aktuellen Standort von GPS-fähigen mobilen Gerät direkt aus dem Webbrowser erhalten. Darf ich wissen, ist das möglich? wie es geht? Benötigt es Geolocation api? Ein Coding-Beispiel wäre hilfreich. Vielen Dank.erhalten aktuellen Breiten- und Längengrad von GPS-fähigen Gerät

+0

Benutzer müssen diese Informationen absichtlich bereitstellen. Siehe die Google-Startseite auf Mobilgeräten. –

+0

Welches Gerät? Welche API? –

+0

@josh ja, natürlich wird angenommen, dass der Benutzer den Standort an den Telefoneinstellungen freigegeben hat. – davidlee

Antwort

16

Verwenden Sie die HTML5 Geolocation API, hier ist die official spec and examples.

EDIT

Ich habe meine Antwort aktualisiert aktuelle Browser-Unterstützung erweitert.

W3C Geolocation API Unterstützung

Firefox 3.5+ 
Safari 5.0+ 
Chrome 5.0+ 
Opera 
iPhone 3.0+ 
Android 2.0+ 

· ·
Andere Telefone nicht über Verwendung aufgelistet Gears oder ihre eigenen, plattformspezifischen APIs.

Ahh, wir haben immer nur eine Sünde Gle API? :)

Vielen Dank an Mark Pilgrim für seine tolle post.

+0

bedeutet es, dass html5 geolocation api von allen gps-fähigen geräten verwendet werden kann? Danke .. – davidlee

+0

Mark Pilgrims Beitrag, den du verlinkt hast, ist nicht länger verfügbar :( –

+0

Google Gears ist längst veraltet. –

0

Sie brauchen nicht das neueste Mobiltelefon, um GPS und Geolocation API zu verwenden. Fast jeder mobile Browser (ohne Proxy-Server) kann verwendet werden, um die Position von Buidin GPS zu lesen. Wenn Sie Java und GPS in Ihrem Telefon haben - Sie können mobile-GPS-Web-Gate verwenden - siehe unter http://code.google.com/p/mobile-gps-web-gate/

9

Hier ist ein tatsächlicher JavaScript-Code, der HTML5 Geolocation API verwendet. Folgendes funktioniert sowohl auf Android-Browser als auch auf iPhone Safari:

  function onPositionUpdate(position) 
      { 
       var lat = position.coords.latitude; 
       var lng = position.coords.longitude; 
       alert("Current position: " + lat + " " + lng); 
      } 

      if(navigator.geolocation) 
       navigator.geolocation.getCurrentPosition(onPositionUpdate); 
      else 
       alert("navigator.geolocation is not available"); 
+0

Link funktioniert nicht !!!!!! –

Verwandte Themen