我正在使用带有本地网站(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 加载速度很慢。
如果我可以将网页文件存储在本地,应用程序会更快。
能否在域中托管加载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>