android Leaflet webview:JavaScript/HTML setView geolocation error

bqjvbblv  于 5个月前  发布在  Android
关注(0)|答案(1)|浏览(60)

我试图在我的Android Studio WebView中显示一个远程HTML网页。该网页显示了一个位置的一些2D地理点数据,放大了用户的位置,如下所示:

var map = L.map('map', {
    layers: [osmMap],
    zoom: 15,
    maxZoom: 18,
    minZoom: 13,
    zoomControl: false
  }).locate({setView: true, maxZoom: 18});

字符串
上面的JavaScript可以帮助缩放Map到用户的位置,这在PC浏览器和移动的手机浏览器中都可以正常工作。但这在Android Studio WebView中不起作用,位置被缩放到错误的地方(无处不在的中间)。
如果我缩放到这样的特定位置,它在Android WebView中工作正常。

var map = L.map('map', {
    layers: [osmMap],
    center: [my_lat, my_long],
    zoom: 15,
    maxZoom: 18,
    minZoom: 13,
    zoomControl: false


研究和谷歌搜索显示(参见here)iframe的跨域权限已被弃用。但我使用的是WebView,我不确定这个问题是否与我的问题有关。
此外,我已经在我的Android manifest.xml中有以下建议。

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />


有没有人知道我如何在Android的WebView的HTML页面中使用传单的定位和setView,或者我缺少什么技巧?

ippsafx7

ippsafx71#

此链接帮助您获取用户的当前地理位置:get geolocation
然后将纬度和经度发送到webview并将您的纬度和经度设置为Map的setview。

相关问题