2012-04-08 17 views
0

Ich erstelle eine App, die Ihre Höhe erfasst. Zur Zeit ist IOS eines der wenigen Geräte, die den Altitude-Parameter unterstützen, daher ist es wichtig, dass es in Mobile Safari funktioniert. Die Höhe wird an zwei Stellen auf der Seite, in einem Textelement und auch im Meter-Element gedruckt, so dass Ihre aktuelle Höhe visuell dargestellt wird.Mobile Safari akzeptiert HTML5 nicht Eingabewert des Messgeräts

Das Erzeugen der Höhe war kein Problem, aber ich hatte keinen Erfolg damit, die Höhe im Meterwert zu speichern. Etwas zu beachten ist, dass Mobile Safari das Meter-Element nicht unterstützt, also benutze ich ein Polyfill, um es überhaupt zur Arbeit zu bringen.

Sie können die allgemeine Vorstellung von dem, was ich versuche, hier zu tun: http://jsfiddle.net/qF9hh/

Beachten Sie die Geolocation coords sind kommentiert, aber sie funktionieren, wenn Sie es auf einem iOS-Gerät zu testen waren.

Also meine Frage ist, wie bekomme ich die Höhenkoordinate im Meter speichern?

Antwort

1

so etwas wie dies könnte

var worked = false; 
$("button").click(function() { 
    worked = false; 
    if (navigator.geolocation) { 
     navigator.geolocation.getCurrentPosition(success, error); 
    } else { 
     error('not supported'); 
    } 
}).load();​ 
function error(msg){ 
    alert(typeof(msg) = "string" ? msg : "error!"); 
} 
function success(pos){ 
    if(worked)return; // to prevent firing twice in firefox 
    worked = true; 
    var meter = $("#high"); 
    if(pos.altitude === null){ 
     error("Altitide not supported"); 
     return; 
    } 
    meter.val(pos.altitude); 
    meter.text(pos.altitude + "/" + meter.attr("max")); 
} 

Jsfiddle

+0

dann besser funktionieren, wie würde ich die Geolocation-Funktion zu initiieren? – HjalmarCarlson

+0

Ich habe gerade den aktuellen Geolokationscode hinzugefügt – pbfy0

Verwandte Themen