【发布时间】:2019-01-01 10:59:57
【问题描述】:
给定一对lat,lon坐标,我需要找出城市的名称
我正在使用 Nominatim API https://wiki.openstreetmap.org/wiki/Nominatim
这是一个示例查询:
https://nominatim.openstreetmap.org/reverse?format=xml&lat=40&lon=30&zoom=18&addressdetails=1
它可以在浏览器中运行,但是它在这个 C# 代码中失败了:
ServicePointManager.Expect100Continue = true;
ServicePointManager.DefaultConnectionLimit = 9999;
ServicePointManager.SecurityProtocol = (SecurityProtocolType)3072;
var url = "https://nominatim.openstreetmap.org/reverse?format=xml&lat=40&lon=30&zoom=18&addressdetails=1";
var request = (HttpWebRequest)WebRequest.Create(url);
var response = (HttpWebResponse)request.GetResponse();
var responseString = new StreamReader(response.GetResponseStream()).ReadToEnd();
我得到以下异常:
底层连接已关闭:连接已关闭 没想到。
不知道为什么上面的代码在其他 API 上工作得很好,而查询在浏览器上也能工作
【问题讨论】:
标签: c# openstreetmap geocoding nominatim