Excel VBA中的Google API地理编码返回空白

时间:2019-02-01 23:25:50

标签: excel vba api geocoding api-key

我为地址编码创建了一个Excel VBA函数。去年有效。

谷歌开始一个新的计费过程和代码不起作用。

  

输入:地址
  输出:纬度,经度

gtmp

我把它拿到工作通过改变一个旧的服务器密钥,但带来另外一个问题。

我最近注册了两个无效的API密钥。但是,旧服务器密钥有效。 API密钥和服务器密钥有什么区别?

enter image description here

1 个答案:

答案 0 :(得分:1)

Geocoding VBA Excel 2010

感谢我的兄弟Edu的帮助!

显式选项

函数GetCoordinates(地址作为字符串)作为字符串

'This function returns the latitude and longitude of a given address using the Google Geocoding API.

'该函数使用Google Geocoding API的“最简单”形式(仅发送address参数),    因此,不使用可选参数,例如边界,语言,区域和组件。    “如果有多个结果(例如两个城市使用相同的名称),则该功能    '返回第一次出现,因此请小心输入地址(提示:使用城市名称和    '邮政编码(如果有)。

'NOTE: As Google points out, the use of the Google Geocoding API is subject to a limit of 40,000

'每月的请求,因此请注意不要超过此限制。有关更多信息,请检查:    'https://cloud.google.com/maps-platform/pricing/sheet

'In order to use this function you must enable the XML, v3.0 library from VBA editor:

'转到工具->引用->检查Microsoft XML v3.0。    “如果您没有v3.0,请使用其任何其他版本(例如v6.0)。

'2018 Update: In order to use this function you will now need a valid API key.

'检查下一个指导您如何获取免费API密钥的链接:    'https://www.myengineeringworld.net/2018/02/how-to-get-free-google-api-key.html

'2018 Update 2 (July): The EncodeURL function was added to avoid problems with special characters.

'这是来自希腊,塞尔维亚,德国和其他国家的地址的常见问题。

'Written By:    Christos Samaras

'日期:2014年12月6日    ``最后更新:09/08/2018    电子邮件:xristos.samaras@gmail.com    “网站:https://www.myengineeringworld.net    '------------------------------------------------- -------------------------------------------------- -

'Declaring the necessary variables.

'最后2个变量使用30结尾,对应于“ Microsoft XML,v3.0”库    在VBA(msxml3.dll)中。如果您使用其他任何版本(例如v6.0),请声明这些变量    分别为XMLHTTP60和DOMDocument60。    昏暗的ApiKey作为字符串     昏暗的请求作为新的XMLHTTP30     结果变暗为新的DOMDocument30     昏暗的StatusNode作为IXMLDOMNode,LatitudeNode作为IXMLDOMNode,LongitudeNode作为IXMLDOMNode

'Set your API key in this variable. Check this link for more info:

'https://www.myengineeringworld.net/2018/02/how-to-get-free-google-api-key.html    '***************************************************** ****************************************************** *************    ApiKey =“您的API密钥在这里!     '示例:ApiKey =“ lxI800lklv3sdf3v5F6 .........”