我正在尝试使用 Tizen 在可穿戴模拟器上使用 OpenLayers 打开 OpenStreetMap 。
HTML
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width,user-scalable=no">
<title>Circular UI</title>
<link rel="stylesheet" href="lib/tau/wearable/theme/default/tau.min.css">
<link rel="stylesheet" media="all and (-tizen-geometric-shape: circle)"
href="lib/tau/wearable/theme/default/tau.circle.min.css">
<!-- load theme file for your application -->
<link rel="stylesheet" href="css/style.css">
</head>
<body>
<div class="ui-page ui-page-active" id="main">
<header class="ui-header">
<h2 class="ui-title">TAU Basic</h2>
</header>
<div class="ui-content content-padding">
<p>test </p>
<div id="map"></div>
</div>
</div>
<script src="ol.js"></script>
<script type="text/javascript" src="lib/tau/wearable/js/tau.min.js"></script>
<script src="jquery-3.2.1.min.js"></script>
<script src="app.js"></script>
<script src="lowBatteryCheck.js"></script>
</body>
</html>
app.js
$(function(){
new ol.Map({
layers: [
new ol.layer.Tile({source: new ol.source.OSM()})
],
view: new ol.View({
center: [0, 0],
zoom: 2
}),
target: 'map'
});
config.xml中
<?xml version="1.0" encoding="UTF-8"?>
<widget xmlns="http://www.w3.org/ns/widgets"
xmlns:tizen="http://tizen.org/ns/widgets" id="http://yourdomain/OSMOL"
version="1.0.0" viewmodes="maximized">
<access origin="*" subdomains="true"/>
<access origin="http://openlayers.org/" subdomains="true"/>
<access origin="https://openstreetmap.org/" subdomains="true"/>
<content src="index.html"/>
<feature name="http://tizen.org/feature/screen.size.normal"/>
<icon src="icon.png"/>
<name>OSMOL</name>
<tizen:privilege name="http://tizen.org/privilege/internet"/>
<tizen:privilege name="http://tizen.org/privilege/application.launch"/>
<tizen:privilege name="http://tizen.org/privilege/filesystem.read"/>
<tizen:privilege name="http://tizen.org/privilege/filesystem.write"/>
<feature name="http://tizen.org/feature/location.gps"/>
<tizen:privilege name="http://tizen.org/privilege/location"/>
<tizen:profile name="wearable"/>
<tizen:setting hwkey-event="enable"/>
</widget>
在正常的Web应用程序中测试代码时会显示地图,但是当使用Tizen作为可穿戴地图运行时,它不会显示。
调试时出现此错误:
获取https://c.tile.openstreetmap.org/2/1/1.png net :: ERR_NAME_RESOLUTION_FAILED c.tile.openstreetmap.org/2/2/2.png:1 获取https://c.tile.openstreetmap.org/2/2/2.png net :: ERR_NAME_RESOLUTION_FAILED b.tile.openstreetmap.org/2/1/2.png:1 得到 2更多相同,无法发布应有的声誉
我认为这是 config.xml 中存在访问权限的问题。我尝试了很多东西,包括将这些链接添加到<access origin>
。什么都行不通,我完全陷入困境。
非常感谢任何帮助或提示!
答案 0 :(得分:1)
在模拟器上运行它怎么样?我怀疑连接问题
当我开始将移动应用程序移植到可穿戴设备时,我认为它没有黑魔法效果:
答案 1 :(得分:0)
我想通了,似乎Tizen以某种方式阻止了正常的OL CDN,使用这个
<script src="https://cdnjs.cloudflare.com/ajax/libs/ol3/4.1.1/ol.js"</script>
相反,它应该工作正常!
感谢大家的帮助。