android Leaflet webview:JavaScript/HTML setView geolocation error

bqjvbblv  于 2024-01-04  发布在  Android
关注(0)|答案(1)|浏览(174)

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

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

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

  1. var map = L.map('map', {
  2. layers: [osmMap],
  3. center: [my_lat, my_long],
  4. zoom: 15,
  5. maxZoom: 18,
  6. minZoom: 13,
  7. zoomControl: false


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

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


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

ippsafx7

ippsafx71#

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

相关问题