【问题标题】:WinForms Map location coordinatesWinForms 地图位置坐标
【发布时间】:2018-12-05 20:00:03
【问题描述】:

当表单加载时,用户需要输入街道和城市。之后,我需要在地图上向他显示该位置,并保存该地址的经度和纬度。

我只做了这个,它找到街道的位置,我可以在表格上显示它(但它很丑,如果你有更好的解决方案,请分享)。但我不知道如何获取该位置的坐标。

StringBuilder queryAddress = new StringBuilder();
                queryAddress.Append("http://maps.google.com/maps?q=");
                queryAddress.Append(street + "," + "+");
                queryAddress.Append(city);
                webBrowser1.Navigate(queryAddress.ToString());

【问题讨论】:

    标签: c# .net winforms api google-maps


    【解决方案1】:

    您要查找的是Geocoding,根据地址获取坐标。

    Google 有一个地理编码 API,它有一个非常好的文档 here。 建议大家通读一遍,总结一下方法的症结所在:

    您可以像这样通过 HTTP(S) 使用 Google 的地理编码 API:

    http://maps.googleapis.com/maps/api/geocode/outputFormat?parameters

    其中 output 是 json/xml 并且 paramaters 可能会有所不同,但简单的形式是 address 就像您上面的示例一样,并且是强制性的 Google API key

    示例: https://maps.googleapis.com/maps/api/geocode/json?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA&key=YOUR_API_KEY

    【讨论】:

    • 我不是那么有经验的程序员,实际上我不知道如何调用它以及在哪里存储该 json 以便我可以从中读取,我尝试了一些东西,但我收到了这条消息。 { "error_message" : "未找到此 API 项目。此 API 项目可能已被删除。", "results" : [], "status" : "REQUEST_DENIED" }
    • @I.pattern 也许 Google 需要为该特定 API 计费。您应该阅读答案中链接中提供的文档。
    • @I.Pattern 另外,奖金。如果您像在代码中那样转到http://maps.google.com/maps?q=street,city 后在常规浏览器中查看 URL,您会看到 Google 将坐标附加在那里。也许你可以在你的应用程序中重新创建它。
    • @I.pattern 如果我的回答对您有帮助,请将其标记为已回答
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-28
    相关资源
    最近更新 更多