Python 做生意';使用谷歌地图API命名
与大多数位置查询工作相反,我实际上是通过地址或GooglePython 做生意';使用谷歌地图API命名,python,r,google-maps,google-places-api,rjsonio,Python,R,Google Maps,Google Places Api,Rjsonio,与大多数位置查询工作相反,我实际上是通过地址或Googleplaceid用Google API识别企业名称。e、 例如,当我在googlemaps.com上搜索加利福尼亚州洛杉矶威尔希尔大道1625号(邮编:90017)时,结果显示“在这个位置”是“麦当劳” 但是,当使用以下URL进行API调用时,名称会显示为街道地址,而我想要的是识别该位置(“麦当劳”)的企业名称: https://maps.googleapis.com/maps/api/place/textsearch/json?query
placeid
用Google API识别企业名称。e、 例如,当我在googlemaps.com上搜索加利福尼亚州洛杉矶威尔希尔大道1625号(邮编:90017)时,结果显示“在这个位置”是“麦当劳”
但是,当使用以下URL进行API调用时,名称会显示为街道地址,而我想要的是识别该位置(“麦当劳”)的企业名称:
https://maps.googleapis.com/maps/api/place/textsearch/json?query=1625%20Wilshire%20Blvd,%20Los%20Angeles,%20CA%2090017&sensor=false&key=
编辑:使用@xomena推荐的确切调用,我仍然有同样的问题。我同时运行了R和Python,得到的结果是街道地址,而不是名称
R代码:
packages <- c("RJSONIO")
new_packages <- packages[!(packages %in% installed.packages()[,"Package"])]
if(length(new_packages)) install.packages(new_packages)
library(RJSONIO)
$candidates
$candidates[[1]]
formatted_address
"1625 Wilshire Blvd, Los Angeles, CA 90017, USA"
name
"1625 Wilshire Blvd"
place_id
"ChIJ18AW_aPHwoARXRm-cgcRcDs"
$debug_log
$debug_log$line
list()
$status
[1] "OK"
import requests
Python代码:
packages <- c("RJSONIO")
new_packages <- packages[!(packages %in% installed.packages()[,"Package"])]
if(length(new_packages)) install.packages(new_packages)
library(RJSONIO)
$candidates
$candidates[[1]]
formatted_address
"1625 Wilshire Blvd, Los Angeles, CA 90017, USA"
name
"1625 Wilshire Blvd"
place_id
"ChIJ18AW_aPHwoARXRm-cgcRcDs"
$debug_log
$debug_log$line
list()
$status
[1] "OK"
import requests
requests.get(“https://maps.googleapis.com/maps/api/place/findplacefromtext/json?input=1625%20Wilshire%20Blvd%2C%20Los%20Angeles%2C%20CA%2090017&inputtype=textquery&fields=formatted_address,name,place_id&key=“+API_key).json()
Python输出:
packages <- c("RJSONIO")
new_packages <- packages[!(packages %in% installed.packages()[,"Package"])]
if(length(new_packages)) install.packages(new_packages)
library(RJSONIO)
$candidates
$candidates[[1]]
formatted_address
"1625 Wilshire Blvd, Los Angeles, CA 90017, USA"
name
"1625 Wilshire Blvd"
place_id
"ChIJ18AW_aPHwoARXRm-cgcRcDs"
$debug_log
$debug_log$line
list()
$status
[1] "OK"
import requests
{'candidates':[{'u address':'1625 Wilshire Blvd,Los Angeles,CA 90017,USA',
“姓名”:“威尔希尔大道1625号”,
“地点id”:“ChIJ18AW\U aPHwoARXRm-cgcRcDs”},
'debug_log':{'line':[]},
“状态”:“确定”}
我相信endpoind正在做您想要的事情
当我执行以下请求时
https://maps.googleapis.com/maps/api/place/findplacefromtext/json?input=1625%20Wilshire%20Blvd%2C%20Los%20Angeles%2C%20CA%2090017&inputtype=textquery&fields=formatted_address,名称,地点\u id&key=MY\u API\u key
我得到以下回应
{
"candidates":[
{
"formatted_address":"1625 Wilshire Blvd, Los Angeles, CA 90017, USA",
"name":"McDonald's",
"place_id":"ChIJ0QBm-6PHwoARpfbcollvKIc"
}
],
"debug_log":{
"line":[
]
},
"status":"OK"
}
正如您所看到的,Find place返回麦当劳的业务
我希望这有帮助
更新
有趣。你知道你的服务器在哪里吗?正如您在文档中看到的,默认情况下,“查找位置”使用IP地址偏差。我的服务器位于美国,我得到麦当劳,如果您的服务器IP地址来自不同的地区,您可以得到不同的结果,因为位置偏差。在这种情况下,我可以建议指定一个区域来偏移结果,例如定义圆形或矩形区域。请求应该类似于
https://maps.googleapis.com/maps/api/place/findplacefromtext/json?input=1625%20Wilshire%20Blvd%2C%20Los%20Angeles%2C%20CA%2090017&inputtype=textquery&fields=formatted_address,几何体,名称,place\u id&locationbias=圆圈%3A100%4034.0559572%2C-118.2708558&key=您的\u API\u密钥
也许您可以使用Google place自动完成请求获取企业名称:
https://maps.googleapis.com/maps/api/place/autocomplete/json?input=601%20East%20Kennedy%20Blvd,%20Tampa,%20FL,%20USA&types=establishment&language=en&key=YOUR_API_KEY
我得到以下回应:
{"predictions":[
{
"description" : "Quest Diagnostics Inside New Castle Walmart Store, 117 Wilton Blvd, New Castle, DE 19720, USA",
"id" : "8295289e301fd05ae69a8d3cd8d25da31c29c66d",
"matched_substrings" : [
{
"length" : 10,
"offset" : 25
},
{
"length" : 11,
"offset" : 55
},
{
"length" : 2,
"offset" : 80
},
{
"length" : 5,
"offset" : 83
},
{
"length" : 3,
"offset" : 90
}
],
"place_id" : "ChIJtTv6_PsHx4kRYZZtvcrallQ",
"reference" : "ChIJtTv6_PsHx4kRYZZtvcrallQ",
"structured_formatting" : {
"main_text" : "Quest Diagnostics Inside New Castle Walmart Store",
"main_text_matched_substrings" : [
{
"length" : 10,
"offset" : 25
}
],
"secondary_text" : "117 Wilton Blvd, New Castle, DE 19720, USA",
"secondary_text_matched_substrings" : [
{
"length" : 11,
"offset" : 4
},
{
"length" : 2,
"offset" : 29
},
{
"length" : 5,
"offset" : 32
},
{
"length" : 3,
"offset" : 39
}
]
},
"terms" : [
{
"offset" : 0,
"value" : "Quest Diagnostics Inside New Castle Walmart Store"
},
{
"offset" : 51,
"value" : "117 Wilton Blvd"
},
{
"offset" : 68,
"value" : "New Castle"
},
{
"offset" : 80,
"value" : "DE"
},
{
"offset" : 83,
"value" : "19720"
},
{
"offset" : 90,
"value" : "USA"
}
],
"types" : [ "health", "point_of_interest", "establishment" ]
}],"status" : "OK"}
我认为预测[0]。说明中有企业名称
但并非每次返回响应时都如此。响应的预测可能是一个空数组。如果需要位置的placeid,请尝试nearbysearch(使用位置),谢谢您的响应。请看我的问题的编辑。