【问题标题】:c# - sql - Call web service from sqlc# - sql - 从 sql 调用 web 服务
【发布时间】:2016-03-22 23:37:34
【问题描述】:

我想创建一个每次添加新客户地址时都会调用的存储过程。

它将调用谷歌反向地理编码网络服务,将地址传递给它,并检索坐标。然后,我将从这些字段的结果 json 提取中更新地址纬度和经度属性。

反向地理编码链接示例

http://maps.google.com/maps/api/geocode/json?address=1600+Amphitheatre+Parkway,+Mountain+View+CA

这可能全部在 sql 中还是我必须创建一个脚本?

请指教。

谢谢

【问题讨论】:

  • 您需要从 sql 以外的其他方式调用该服务。该地址将如何添加到您的数据库中?可以在该代码中完成地址查找。
  • 通过用户界面。我在 SQL 中创建它时有隧道视野,但似乎最好的方法是在用户保存新创建的地址并将其插入地址后找到纬度和经度。你知道是否已经包含任何可以从 Web 请求中检索 JSON 响应的 c# 库?谢谢大佬
  • 我不知道。我见过use JavaScript 的大多数实现。如果您采用这种方法,您可以在将数据保存到数据库之前进行查找,这可能是一种更好的方法,因为这样您就可以在保存之前知道用户是否输入了错误的地址。然后,您可以重新提示用户更正无法识别的地址。
  • 澄清一下:你可以用 C# 来做。我只是说我通常在 JavaScript 中看到它,因此它与用户的交互性更强。
  • 这是个好主意。谢谢德夫林

标签: c# sql


【解决方案1】:

您需要在 SQL 之外处理服务调用。您可以从 C# 中执行此操作,但如果您从 JavaScript 中执行此操作,您将为您的用户提供更具交互性的体验,因为您可以让用户在将数据发送到服务器以保存到数据库之前立即更正错误地址.

谷歌地理编码文档在这里:

https://developers.google.com/maps/documentation/geocoding/intro

您正在寻找经纬度查找。

【讨论】:

  • devlin,关于检查错误地址的任何建议都不能确保结果返回。如果它甚至识别地址中的州和国家/地区,它似乎会返回纬度和经度
  • 您可以查找 location_type。因此,例如,如果结果返回 location_type = APPROXIMATE,您将要求您的用户更正地址。
猜你喜欢
  • 2015-12-28
  • 2023-03-06
  • 1970-01-01
  • 2013-08-25
  • 1970-01-01
  • 1970-01-01
  • 2019-01-22
  • 2014-11-30
  • 1970-01-01
相关资源
最近更新 更多