无法从bing map REST api获取坐标

时间:2015-10-10 08:38:39

标签: rest bing-maps bing-api

我们有一个地址列表,并尝试使用服务器端脚本获取它们的坐标。

由于google map api的限制(每24小时2500次查询),我们转向bing map REST api。

但是当我们调用API时它没有给出坐标,而google map api返回正确的坐标。 请告诉我我做错了什么?

以下是示例电话

 http://dev.virtualearth.net/REST/v1/Locations?query=A+Beka+Acadamdy,2303+Maravilla,Lompoc,CA,93436,&incl=queryParse&key=MY_API_KEY

如果我用地址中的%20替换所有内容,那么它仍然不会返回数据

http://dev.virtualearth.net/REST/v1/Locations?query=A%20Beka%20Acadamdy%202303%20Maravilla%20Lompoc%20CA%2093436&incl=queryParse&key=MY_API_KEY

另一个网址是

 http://dev.virtualearth.net/REST/v1/Locations?query=103+Black+Men+of+the+Bay+Area+Community,3403+Malcolm+Avenue,Oakland,CA,94607-1407,&incl=queryParse&key=MY_API_KEY

我们也试过这个

https://msdn.microsoft.com/en-us/library/ff817004.aspx#sectionToggle6

但有时我们不了解这个国家,这就是为什么它无法正常工作。

1 个答案:

答案 0 :(得分:0)

要改变的一些事情。首先,删除该位置的名称,您只需要街道地址。

所以地理编码“2303 Maravilla,Lompoc,CA,93436”将起作用。

其次,看起来你正在逃避查询值而不是编码它。转义不如编码好,会导致一些查询失败。例如,如果查询中包含“first& Main”,则转义它将不会转义&符号,这将使得后面的所有内容都成为新的URL参数,这可能会导致错误或意味着您的查询仅用于“第一次”。通过对其进行编码,&符号将更改为%26。这在最佳实践中有记录:https://msdn.microsoft.com/en-us/library/dn894107.aspx

通过对查询参数进行编码,您的地址将如下所示:

"2303%20Maravilla,%20Lompoc,%20CA,%2093436"