在 android 上使用浏览器组件代号 one 加载本地 openlayers 网站时遇到问题

问题描述 投票:0回答:1

我正在使用带有本地网站(html 文件)的 openlayers 开发代号为 one 的应用程序。该应用程序在模拟器中运行良好,并且在桌面网络浏览器(chrome 或 edge)上加载时网站运行正常 在 android 设备(android 5.0)上,地图未加载到 webbrowser 组件中。
我做了什么: A。我检查了文件是否到位,并且 javascript 文件的相对路径工作正常。 b.我制作了一个简单的 openlayers 网页。但与此相同的是没有加载地图。

<html>
<head>
   <meta charset="utf8" />
   <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/ol.js"></script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/ol.css">
</head>
<body style="margin: 0; padding: 0;">
   <div id="map" class="map"></div>

   <script type="text/javascript">
   var view = new ol.View(
   {
      center: [0, 0],
      zoom: 2
   });

   var map = new ol.Map(
   {
      layers: [
         new ol.layer.Tile(
         {
            source: new ol.source.OSM()
         })
      ],
      target: 'map',

      view: view,
      pixelRatio: 1
   });

   var mapDiv = document.getElementById("map");
   map.setSize([mapDiv.offsetWidth/2, mapDiv.offsetHeight/2]);
   </script>
</body>
</html>

我怎么解决这个问题?

更新 在我的安卓手机 android v9.0 上: a Openlayers 正在使用简单地图在我的 android 手机 (v9.0) 上工作。 b 当我将我的大网站复制到 homepath 时,Openlayers 不工作。我使用 zip 文件复制文件。我在应用程序中检查是否所有文件都已复制。加载页面的 javascript 文件时出现问题。 c 我的大网站正在使用谷歌云存储。 但是 javascript 加载速度很慢。

如果我可以将网页文件存储在本地,应用程序会更快。

android openlayers codenameone
1个回答
0
投票

能否在域中托管加载openlayers的html文件,然后在Codename One的BrowserComponent中使用

bc.setUrl("https://yoururl.html");

看这个 在 BrowserComponent 中加载 url

在这个应用程序的“Web”菜单中 FeaturesCN

尝试在 BrowserComponent 中直接/本地加载以下内容时可能存在限制

<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/ol.js"></script>

例如。当以下 Stripe JS 直接/本地添加到 BrowserComponent 时,它在模拟器上加载正常但在设备上失败,因为它们检查请求的来源

<script src="https://js.stripe.com/v3/"></script>
© www.soinside.com 2019 - 2024. All rights reserved.