使用 BING 地图 API 获取位置信息

问题描述 投票:0回答:1

我一直在使用我的 VBA 代码从不同位置获取坐标,其中 JsonConverter 的坐标为红色。现在,当 JSON 转换器尝试从 URL 读取输出时,我收到错误。

“未经 Microsoft Corporation 明确书面许可,不得访问此 API,不得以任何方式使用、复制或传播其内容和任何结果”

 ' Set your Bing Maps API key
apiKey = "myKey"

' Build the API request URL
url = "https://dev.virtualearth.net/REST/v1/Locations/" & _
      Replace(address, " ", "%20") & "?key=" & apiKey

'Debug.Print url

' Send the API request
With CreateObject("MSXML2.XMLHTTP")
    .Open "GET", url, False
    .send
    responseText = .responseText
End With`

-> 示例 URL:https://dev.virtualearth.net/REST/v1/Locations/Lerchenauer%20Straße%2076,%2080809%20München?key=

我检查了我的 BING 地图密钥,该密钥处于活动状态并且我从未更改过..

excel vba url bing-maps bing-api
1个回答
0
投票

您看到的“错误”“无法访问此 API...”是版权文本的一部分。您从 Bing 地图得到的响应很好,您只是看到了响应的错误部分。请注意,响应是 JSON 格式。

请注意,在过去十年中,使用 VBA 对 Excel 中的地址进行地理编码已经做了很多工作,并且有大量关于如何执行此操作的博客。我强烈建议遵循其中之一,而不是尝试从头开始编写一些东西。例如:https://ramblings.mcpher.com/integratingexcelwithmapsand-earth/complete-excel-address-data-with-bing-maps-api/

也就是说,VBA 确实很旧,并且有更新的方法来创建 Excel 插件:https://learn.microsoft.com/en-us/office/dev/add-ins/develop/develop-overview请注意,出于安全目的,某些公司不允许运行宏。使用更现代的方法来创建附加组件将使您的工作在桌面版和 Web 版 Excel 中更可重用。

还可以考虑使用 Azure 地图而不是 Bing 地图。 Azure Maps 是微软的“较新”地图平台(5 年前发布)。它的 v2 搜索/地理编码服务具有与 Bing 地图相同的数据。使用 Azure Maps 可能会确保您的代码能够最长运行。

© www.soinside.com 2019 - 2024. All rights reserved.