如何使ArcIMS图例显示中文 - GIS云中飞鹏

时间:2024-03-17 15:24:39

如何使ArcIMS图例显示中文

                                  如何使ArcIMS图例显示中文


内容摘要
ArcIMS 使用AXL获得地图图例的方法是像服务器端 发送<LEGEND> 标签
但有如果图例中含有中文时需注意 font属性否则url指向的图片中的中文将不能正确显示
过程描述
请先看看一个错误的例子
<LEGEND display="true" autoextend="true" title="中文标题" font="Arial" />"


上面的font属性设置为了"Arial" 则返回的图片中文不能正常显示
正确的应为
<LEGEND display="true" autoextend="true" title="中文标题" font="黑体" />"

另外在XML发送的时候还要注意字符集的环境
1 XML编码中文一般使用 UTF-8
<?xml version="1.0" encoding="UTF-8"?>

2 在客户端页面内的字符集要设为GB2312


下面将给出 IMS_HTML_View 的调整参数
a <你的发布目录>javascriptaimsXML.js
var charEncoding = "UTF-8";
var charSet = "GB2312"

b <你的发布目录>ArcIMSparam.js
var legFont="黑体";
var legTitle="图例";

下面给出dotnet_link Samples中blueViewer的修改办法其他应用可以参照

a 打开legend.aspx在HTML页面头中插入一行
<meta http-equiv=Content-Type content="text/html; charset=gb2312">
结果如下
<HEAD>
<TITLE>Map Legend</TITLE>
<LINK href="css/viewer.css" rel="stylesheet">
<meta content="Microsoft Visual Studio.NET 7.0" name="GENERATOR">
<meta content="Visual Basic 7.0" name="CODE_LANGUAGE">
<meta content="JavaScript" name="vs_defaultClientScript">
<meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
<meta http-equiv=Content-Type content="text/html; charset=gb2312">
</HEAD>

b 查找请求发送处的代码并修改为

sAXLText = sAXLText & "<LEGEND display=""true"" autoextend=""true"" title=""图例"" font=""黑体"" />"

注:dotnet_link 使<LEGEND>显示中文须 ArcIMS 9.1 版本


原文地址:http://support.esrichina-bj.cn/esrilink/techarticle.php?file=000464