我正在尝试为美国实现谷歌地图API文本搜索查询结果。 用户可能会输入不明确的地址查询,这就是我选择文本搜索请求API而不是谷歌提供的其他APIS的原因。
我使用以下网址 description(关键是错误的,出于保密目的)
我知道尽管添加了区域参数,我可能会根据其他国家/地区的相关性获得结果。查询中存在的纬度和经度也不是来自美国。
但是根据Google使用区域参数时提供的文档:
使用此参数时,对于指定区域中的结果,结果的formatted_address中将省略国家/地区名称
我得到的回复没有省略国名,
响应的一部分如下:
"results" : [
{
"formatted_address" : "Maharashtra, India",
"geometry" : {
"location" : {
"lat" : 19.2183307,
"lng" : 72.9780897
},
"viewport" : {
"northeast" : {
"lat" : 19.296441,
"lng" : 73.07666159999999
},
"southwest" : {
"lat" : 19.1313429,
"lng" : 72.926259
}
}
}]
我也尝试使用components参数代替region参数,但我想它只适用于自动完成API。
提前谢谢。
答案 0 :(得分:1)
国家/地区名称省略指定区域的结果
在您的示例查询中,您在印度指定了location
,在“us”中指定了一个区域(这没有任何意义)所以在这种情况下,国家/地区名称不被省略,这是隐含的预期的行为。
如果您执行相同的请求,只指定区域(印度的in
),则格式化的地址不包含国家/地区:
https://maps.googleapis.com/maps/api/place/textsearch/json?%20sensor=false&query=thane®ion=in
{
"html_attributions": [],
"results": [{
"formatted_address": "Maharashtra",
"geometry": {
"location": {
"lat": 19.2183307,
"lng": 72.9780897
},
"viewport": {
"northeast": {
"lat": 19.296441,
"lng": 73.07666159999999
},
"southwest": {
"lat": 19.1313429,
"lng": 72.926259
}
}
},
"icon": "https://maps.gstatic.com/mapfiles/place_api/icons/geocode-71.png",
"id": "5a575922f6db500ba22b52c62751717dd2548e0b",
"name": "Thane",
"photos": [{
"height": 576,
"html_attributions": [
"\u003ca href=\"https://maps.google.com/maps/contrib/105961144843321217972/photos\"\u003eA Google User\u003c/a\u003e"
],
"photo_reference": "CmRaAAAAXwGLh6JweZeWjWdKDFbKvdUP7rR5XWwNeZ4vImjPagRztcOVoTsQQdkjnstw3NkjWPBQja3rFVo6o14-KspWomJi-8wCP5ViiNAJgkCYllSc1LUF_UsoxzWM5pTQzGI_EhAjL3hmEjPCFQPkvmu4nTkOGhTaSXKV4u3aasoPi-QILWPfKI6LnQ",
"width": 786
}],
"place_id": "ChIJWf12_vy45zsRgwLF94V9Ns8",
"reference": "CmRbAAAAJCtYPdY98PuNeZt1quzUSGMYGZIJAUAtt17HlcZzOAU0tAsXttmjJjn2dUWjg57wm3d3N_6vU57uZMjXzokFf4HIIDB6DpWX9INXYc-GSfcneQQYoJottDmrzdCnGCaYEhA-R7L3cmzO0HQw6bHuzCUPGhQLfvZ-YgwMIpG-D3V2UYirW71iCw",
"types": ["locality", "political"]
}],
"status": "OK"
}
如果指定位置参数,还必须指定半径参数。
现在,如果您的目标是根据某个区域进行结果分析,那么我认为使用位置和半径并不合理。