0

我们正在尝试在 Web 应用程序中显示离线地图。成功提取所需部分并将其转换为图块。

瓷砖文件夹位于WEB-INF内,瓷砖所需的所有文件夹都位于瓷砖文件夹内。

传单脚本存在于脚本文件夹中。 css脚本存在于css文件夹中。

我的页面的代码片段是:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="f"  uri="http://java.sun.com/jsf/core"%>
<%@ taglib prefix="h"  uri="http://java.sun.com/jsf/html"%>
<%@ taglib uri="http://richfaces.org/a4j" prefix="a4j"%>
<%@ taglib uri="http://richfaces.org/rich" prefix="rich"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Demon</title>
<link href="${pageContext['request'].contextPath}/css/general.css"
    rel="stylesheet" type="text/css" />
<link href="${pageContext['request'].contextPath}/css/leaflet.css"
    rel="stylesheet" type="text/css" /> 

<script src="${pageContext['request'].contextPath}/script/leaflet.js" language="javascript"></script>
<script src="${pageContext['request'].contextPath}/script/leaflet-src.js" language="javascript"></script>
<script>
function Demo()
{

    var map = L.map('map');
    L.tileLayer('tiles/{z}/{x}/{y}.png').addTo(map);
}
</script>
</head>
<body>
<f:view>
<div id="map" style="width:800px;height:600px;">
<a4j:commandButton value="HIT" onclick="Demo()"></a4j:commandButton>
</div>
</f:view>
</body>
</html>

现在在我的页面上,当我点击HIT按钮时,地图部分被占用并显示在浏览器中分配的空间中,但地图显示中没有任何内容。

由传单和放大/缩小图标提供支持。

没有显示地图。文件夹中存在的平铺图像确实包含已提取并转换为平铺的地图。

因此,我无法弄清楚为什么什么都没有出现。请指导我。

我想我已经非常接近展示地图了,尽管如此,探索这一点并到达这一点是一个地狱般的旅程。

4

1 回答 1

0

我这样做可能会有所帮助,我之前使用 \ 作为转义字符,$以便 JSP 可以理解包含的 url ${},或者它会认为它是一个空变量?

问题:

var newLayer = new OpenLayers.Layer.OSM("Damascus", "tiles/${z}/${x}/${y}.png", {numZoomLevels: 19, alpha: true, isBaseLayer: true});

解决方案:

var newLayer = new OpenLayers.Layer.OSM("Damascus", "tiles/\${z}/\${x}/\${y}.png", {numZoomLevels: 19, alpha: true, isBaseLayer: true});
于 2015-12-03T10:58:47.433 回答