2012-07-16 4 views
8

Wenn Sie versuchen, die HTML5 Geolocation-API für mobile Chrome für iOS zu verwenden, löst meine Anwendung den Fehler "Berechtigung verweigert" aus, ohne dass Sie aufgefordert werden, meinen Standort anzugeben. Ist noch jemand auf dieses Problem gestoßen?Chrome IOS HTML5 Geolocation-Berechtigung verweigert

PS. Dies geschieht lokal und auf einer Heroku-Instanz.

Hier ist der Code, den ich auf dem Dokument bereit

var displayCloseFoo = function(position) { 
     var lat = position.coords.latitude; 
     var lon = position.coords.longitude; 

    }; 

    var displayError = function(error) { 
     var errors = { 
      1: 'Permission denied', 
      2: 'Position unavailable', 
      3: 'Request timeout' 
     }; 
     alert("Error: " + errors[error.code]); 
    }; 

    var runGeo = function(){ 
     if (navigator.geolocation) { 
      var timeoutVal = 10 * 1000 * 1000; 
      navigator.geolocation.getCurrentPosition(
        displayCloseFoo, 
        displayError, 
        { enableHighAccuracy: true, timeout: timeoutVal, maximumAge: 0 } 
      ); 
     } 
     else { 
      alert("Geolocation is not supported by this browser"); 
     } 
    }; 
    runGeo(); 

Dank in Chrome

+0

Ist Ihr iOS Simulator läuft? Es ist bekannt, dass die Standortdienste des Host-Rechners nicht mehr funktionieren. – user1071136

+0

Nein. Dies ist eine mobile Web-App, nicht nativ. – chad

Antwort

2

Sie haben ausdrücklich auf Erlauben Sie Mobile Chrome, die Standortdienste in ios zu verwenden. In iOS6 können Sie dies erreichen, indem Sie auf Einstellungen-> Privatsphäre-> Standortdienste gehen und Chrome auf Ein stellen.

0

Geolokalisierung wird nicht vor Ort arbeitet ... nicht sicher, warum es von Ihrer Heroku Instanz funktionieren würde nicht leite

prüfen diese Fiddle aus ... es scheint gut, hier zu arbeiten ... http://jsfiddle.net/mattnull/YaCRe/

+0

Dies funktioniert nicht für mobile Chrome auf iOS. Habe gerade die Geige auf meinem Handy geöffnet und es gibt mir das gleiche Verhalten wie mein Code oben. – chad

+0

seltsam .. Ich habe das gleiche getan und es funktionierte auf meinem Handy ... haben Sie Ortungsdienste eingeschaltet? Dies muss möglicherweise aktiviert werden – mattnull

+0

So habe ich festgestellt, dass, sobald Sie es einmal ablehnen, und dann neu laden .. es wird weiter sagen, dass die Erlaubnis verweigert ... Ich denke, das ist, weil es eine Ausnahme in Chrome hinzufügt, um weiteren Zugriff zu verweigern. – mattnull

0

Nach der Installation des chrome.when es geöffnet wird, fragt es u Ihren Standort zu teilen, wenn u verweigert u nicht den Standort erhalten