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

  • Abbeydabby0277's channel

    Abbeydabby02

    9 ŞUBAT 2012
  • Google Analytics

    Google Analy

    25 ŞUBAT 2008
  • michellefeng's channel

    michellefeng

    26 Kasım 2006