我正在开发一个Android应用程序,基本上,不同的网页嵌入在片段中,列表片段用于在页面之间切换。我可以通过浏览器获取 HTML5 位置数据,但当页面嵌入应用程序时不能。
忘记片段,我能够并且我可以让 JavaScript 在 WebView 中工作。但即使使用 WebViewClient,我也无法弄清楚如何让地理位置数据正常工作。有人可以指出我正确的方向吗?
我正在开发一个Android应用程序,基本上,不同的网页嵌入在片段中,列表片段用于在页面之间切换。我可以通过浏览器获取 HTML5 位置数据,但当页面嵌入应用程序时不能。
忘记片段,我能够并且我可以让 JavaScript 在 WebView 中工作。但即使使用 WebViewClient,我也无法弄清楚如何让地理位置数据正常工作。有人可以指出我正确的方向吗?
您必须首先在您的WebView
WebView mWebView;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mWebView = (WebView) findViewById(R.id.webView1);
// Brower niceties -- pinch / zoom, follow links in place
mWebView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
mWebView.getSettings().setBuiltInZoomControls(true);
mWebView.setWebViewClient(new GeoWebViewClient());
// Below required for geolocation
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.getSettings().setGeolocationEnabled(true);
mWebView.setWebChromeClient(new GeoWebChromeClient());
}
然后您可以使用导航器获取位置数据..
function getLocation() {
navigator.geolocation.getCurrentPosition(displayLocation, handleError);
}
看看这个帖子