Google maps 如何将GooglePlacesAPI与web应用程序集成,以提供位置建议,以便以后可以按位置过滤记录

Google maps 如何将GooglePlacesAPI与web应用程序集成,以提供位置建议,以便以后可以按位置过滤记录,google-maps,google-maps-api-3,google-places-api,Google Maps,Google Maps Api 3,Google Places Api,我正在尝试做一个应用程序,让用户搜索附近的供应商。为此,每个供应商登记表都有一个文本框,供应商可以在其中输入自己的地址。由于我没有要验证的位置列表,所以我尝试使用GoogePlacesAPI进行位置建议 供应商登记表中的“地点建议”文本框如下图所示: 选择位置的用户界面如下图所示: 选择位置后,用户应该只看到附近的供应商。GooglePlacesAPI的响应是 { "html_attributions": [], "results": [ { "formatted_a

我正在尝试做一个应用程序,让用户搜索附近的供应商。为此,每个供应商登记表都有一个文本框,供应商可以在其中输入自己的地址。由于我没有要验证的位置列表,所以我尝试使用GoogePlacesAPI进行位置建议

供应商登记表中的“地点建议”文本框如下图所示:

选择位置的用户界面如下图所示:

选择位置后,用户应该只看到附近的供应商。GooglePlacesAPI的响应是

{
"html_attributions": [],
"results": [
    {
        "formatted_address": "Motera, Ahmedabad, Gujarat, India",
        "geometry": {
            "location": {
                "lat": 23.1036054,
                "lng": 72.6024044
            },
            "viewport": {
                "northeast": {
                    "lat": 23.112303,
                    "lng": 72.611829
                },
                "southwest": {
                    "lat": 23.0824881,
                    "lng": 72.5931459
                }
            }
        },
        "icon": "https://maps.gstatic.com/mapfiles/place_api/icons/geocode-71.png",
        "id": "beb375b14ad845f8a22e69c93617bee0256678b9",
        "name": "Motera",
        "photos": [
            {
                "height": 768,
                "html_attributions": [
                    "<a href=\"https://maps.google.com/maps/contrib/102418401241279550190/photos\">Denny 00_</a>"
                ],
                "photo_reference": "CoQBdwAAADhFAFfh71z9-Ezw2FMPN-dfmbVDhp8LFJLVmipB_uiK57ZIHWX9vL6UBxotMee794LGmWy_us0RDS521rblsBJgEWL7Wzmg2_Ni9bVfvRJfE6Cb_wf9hzZqvdQUTozVP5z8FaItU-RHjv7Sz92f_ACk8_CpUsEGfeRHF13uI8j5EhDIB0RXJxrzsLVhUImoqMruGhTvq6O1_ZsOWOJslKCSVsXiU_0_gQ",
                "width": 1280
            }
        ],
        "place_id": "ChIJTxIjdsODXjkRiCMOQDvxt24",
        "reference": "CmRbAAAAfxr_8ylDJoydKhrJFZMQVaziF5T89c-KwrgI95qWKqlwcZddHbuAryoaYMq1Qd17v8d0l9SwM47hwuBiuzPOTAb_9tKYS_0K575oUnMIylmG48cBjzQaDzNbsNOIxPFuEhB3MNrFc3saxfKwtfVGWgbEGhTtyA6ohpXeHhwLQ42PjOiIEOkPxw",
        "types": [
            "sublocality_level_1",
            "sublocality",
            "political"
        ]
    }
],
"status": "OK"
{
“html_属性”:[],
“结果”:[
{
“地址”:“印度古吉拉特邦艾哈迈达巴德莫特拉”,
“几何学”:{
“地点”:{
“lat”:23.1036054,
“液化天然气”:72.6024044
},
“视口”:{
“东北”:{
“lat”:23.112303,
“液化天然气”:72.611829
},
“西南”:{
“lat”:23.0824881,
“液化天然气”:72.5931459
}
}
},
“图标”:”https://maps.gstatic.com/mapfiles/place_api/icons/geocode-71.png",
“id”:“beb375b14ad845f8a22e69c93617bee0256678b9”,
“姓名”:“莫特拉”,
“照片”:[
{
“高度”:768,
“html_属性”:[
""
],
“照片参考资料”:“CoQBdwAAADhFAFfh71z9-Ezw2FMPN-dfmbVDhp8LFJLVmipB uiK57ZIHWX9vL6UBxotMee794LGmWy US0RDS521RBLSBJGEW7WZMG2 ni9BVVRJFE6CB	WF9HZZZQVDQUTOZVP5Z8FATU-RHjv7Sz92f ACk8-CPUSEGFER3UI8J5EHDIB0RXJJXRZLVZLVZLV8J8J8J8J5J5J0RJ0RJ0RJ0RJ0RZZZZZZZKKKKZZZZZZZZZZZZZZZZZZK0”,
“宽度”:1280
}
],
“地点id”:“ChIJTxIjdsODXjkRiCMOQDvxt24”,
“参考文件”:“CMRBAAAFXR_8ylDJoydKhrJFZMQVaziF5T89c-KWRGI95qwkqlwczddhdhbaryoaymqd17v8d0l9swm47hwhubiuzpotab_9tKYS_0k575; uNmylMg48cBjzqadznsnoixfuehb3MnRFc3axFKwWgWgWgEghttyA6OHwHwLq42视图”,
“类型”:[
“次局部性\u级别\u 1”,
“次局部性”,
“政治”
]
}
],
“状态”:“确定”
}

从上面的响应中,我应该在数据库中存储什么,以便按位置筛选记录?我可以将“格式化的_地址”键拆分为三个,并将它们存储在供应商注册表中的三个单独字段中。但这将是多余的。或者我可以将地区、城市和州存储在三个单独的表中,并引用ID。但这似乎太多工作了?处理这个问题的最佳方法是什么


此外,谷歌是否允许存储响应数据?

如果您想通过查询数据库找到“附近”的位置,您需要地理坐标

最后我查看了Places API,唯一允许持久存储的数据是placeId