如何解决TileServer 的 GetCapabilities 查询返回格式错误的 JSON
我已经安装了 TileServer.PHP。当我导航到它时,我可以看到我的图块(所以它正在工作)。
我的问题是当我查询 getCapabilities 文件时,生成的 json 文件格式错误。
json 在 json 响应开始时以部分查询字符串为前缀。
这是完整的查询字符串:
http:///tileserver/index.html?service=wmts&request=getcapabilities&version=1.0.0
我收到的实际 Json 响应
(注意 wmts&request 以其他方式有效的 json 为前缀)
====JSON================================
wmts&request([{"name":"190322","type":"overlay","description":"190322","version":"1.1","format": "png","边界":[174.92249449474565,-36.991878207885335,174.93635413927785,-36.98244705946717],"maxzoom","zoom","10","123","100%","1"2323 ":1,"tiles": ...
================================================ ===
我尝试删除查询字符串的一部分来测试结果,奇怪的是它再次抓取了查询字符串的一部分。
这是我测试的完整查询字符串:
http:///tileserver/index.html?request=getcapabilities&version=1.0.0
(我收到的实际 Json 响应)
====JSON================================
getcapabilities&version([{"name":"190322","tiles": ...
================================================ ========
我想我可以解决这个问题,但我想找到这个问题的原因。
我使用的是 ASP.Net 5.0。
这里大概是我的代码:
private static readonly string _tileserver_ip = "http://<my ip>/tileserver/";
HttpClient client = new HttpClient();
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(
new MediaTypeWithQualityHeaderValue("application/json"));
var query = new Dictionary<string,string>
{
["service"] = "wmts",["request"] = "getcapabilities",["version"] = "1.0.0"
};
var response = await client.GetAsync(QueryHelpers.AddQueryString(_tileserver_ip,query));
var capabilitiesstring = await response.Content.ReadAsstringAsync();
// the result of the query string => "http://<my ip>/tileserver/?service=wmts&request=getcapabilities&version=1.0.0"
编辑
哎呀!结果我以完全错误的方式从 TileServer 请求 getCapabilities 文件。
我会把它留在这里,以防它将来对某人有所帮助。
这是正确的 URL:http:///tileserver/1.0.0/WMTSCapabilities.xml/wmts
解决方法
我找到了答案,我会把这篇文章留在这里,以防它将来对某人有所帮助。
在我的 URL 中,我使用 index.html 作为索引页,但是我应该使用 index .json 代替。
一旦我切换到 .json,我就收到了预期的 JSON 响应。
带有查询字符串的完整网址:
http:///tileserver/index.json?service=wmts&request=getcapabilities&version=1.0.0
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。