SORU
16 Mart 2011, ÇARŞAMBA


android web görünümü coğrafi konum

Ben bir kullanıcı yerini almak için WebView bir yer var. Aşağıdaki Javascript ile yapıyoruz:

function getLocation() {
   navigator.geolocation.getCurrentPosition(displayLocation, handleError);
}

Ama asla izin popup açılır isteği.

Bu ayarları ayarladım:

ws.setJavaScriptEnabled(true);
ws.setGeolocationEnabled(true);
ws.setJavaScriptCanOpenWindowsAutomatically(true);

WebView içinden bir kullanıcının konumunu erişmek için doğru yolu nedir?

CEVAP
24 Mart 2011, PERŞEMBE


  • JavaScript ** 8, kullanarak etkin olmalıdır WebSettings.setJavaScriptEnabled(true);
  • App 10* *izin alması gerekiyor
  • WebView WebChromeClient.onGeolocationPermissionsShowPrompt() uygulayan 12* *bir özel kullanmanız gerekir. Bu yöntem WebView tarafından adlı kullanıcının JavaScript yerini açıklaması için izin almak. (Tarayıcı durumda, kullanıcı için bir ileti gösteriyoruz.) Varsayılan uygulama izin asla elde edilir ve yerini asla JavaScript geçirilir bu yüzden hiçbir şey yapmaz. Her zaman izin verir basit bir uygulama

    webView.setWebChromeClient(new WebChromeClient() {
     public void onGeolocationPermissionsShowPrompt(String origin, GeolocationPermissions.Callback callback) {
        callback.invoke(origin, true, false);
     }
    });
    

Coğrafi konum veritabanları önbelleğe alınan pozisyonlar devam etmek için kullanır ve oturumlar arasında izinleri. Veritabanının konumunu WebSettings.setGeolocationDatabasePath(...) kullanarak ayarlanır. Eğer veritabanının konumunu ayarlamak değilse, kalıcı bellek kullanılamaz, ama coğrafi konum aksi takdirde düzgün çalışmaya devam eder. Veritabanlarının konumunu ayarlamak için kullanın ...

webView.getSettings().setGeolocationDatabasePath( context.getFilesDir().getPath() );

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Ash100HD

    Ash100HD

    29 EKİM 2011
  • boogie2988

    boogie2988

    6 NİSAN 2006
  • Damien Hayes

    Damien Hayes

    11 Mart 2008