google-maps-api-3 - AutocompleteService.getPlacePredictions 返回带有公寓编号的 ZERO_RESULTS
问题描述
当调用AutocompleteService.getPlacePredictions并将以下request
参数的input
字段设置为类似的地址3395 Michelson Dr, Irvine, CA 92612
时,我得到了预期的匹配结果。
但是,ZERO_RESULTS
如果地址包含公寓号码,则返回状态,如下例所示:
3395 Michelson Dr APT 1306
3395 Michelson Dr, APT 1306
3395 Michelson Dr APT 1306, Irvine, CA 92612
3395 Michelson Dr, APT 1306, Irvine, CA 92612
3395 Michelson Dr, Irvine, CA 92612 APT 1306
3395 Michelson Dr, Irvine, CA 92612, APT 1306
3395 Michelson Dr #1306
3395 Michelson Dr, #1306
3395 Michelson Dr #1306, Irvine, CA 92612
3395 Michelson Dr, #1306, Irvine, CA 92612
3395 Michelson Dr, Irvine, CA 92612 #1306
3395 Michelson Dr, Irvine, CA 92612, #1306
这是预期的结果吗?如果是这样,是否有正确的方法来获得类似的地点预测,同时允许输入中包含公寓或套房号码?
解决方案
这已在支持问题 ( https://issuetracker.google.com/35830389#comment3 ) 中得到解答:
对子前提元素(apt./suite)的支持是有限的。地点自动完成并不打算普遍支持这些。
地理编码 API 将找到这些地方,并在 address_components 中返回子前提元素:
9500 布林莫尔大道 #650: https ://google-developers.appspot.com/maps/documentation/utils/geocoder/#q%3D9500%2520Bryn%2520Mawr%2520Avenue%2520%2523650%2520Redlands%26nfw%3D1
1403/648 伯克街: https ://google-developers.appspot.com/maps/documentation/utils/geocoder/#q%3D1403/648%2520Bourke%2520Street%26nfw%3D1
鲍登街 130 号,公寓。1010: https ://google-developers.appspot.com/maps/documentation/utils/geocoder/#q%3D130%2520Bowdoin%2520st.%252C%2520apt.%25201010%26nfw%3D1
地理编码可以用作这些查询的自动完成的后备, https: //google-developers.appspot.com/maps/documentation/utils/geocoder/ 上的地理编码器工具在 某种程度上可以做到这一点:如果您在没有选择的情况下按 Enter建议,您的输入将发送到地理编码服务。这有助于上面的第一个和第三个例子。
如果您需要支持套件/apt,还有一个更复杂的后备选项: - 使用 Autocomplete 类的 placeIdOnly 选项来捕获建议的描述(例如“1403/648 Bourke Street Melbrourne, Victoria, Australia”) - 匹配此描述针对一组正则表达式以检测其中的套件/apt,例如 "\d+/\d+.*Australia" 以检测 123/45 ... Australia) - 如果匹配,则将描述发送到地理编码服务,否则,通过地点 ID 请求详细信息 这仍然可以在不编写您自己的自动完成小部件的情况下完成。
推荐阅读
- vb.net - 使用 BackgroundWorker 通过 FileSystemWatcher 更新主窗体 UI?
- javascript - 如何在JS中获取数组中的每个备用对象
- join - PowerBI - 在 DAX 中加入 DirectQuery 和导入的表
- android - Kivy 期间没有名为 google 的模块到使用 Buildozer 进行 apk
- javascript - 如何使用 kendo ui 将 excel 文件上传到服务器
- c# - 调试模式下的变量检查器不显示 Guid 和 DateTime 的值 - Visual Studio 2019 (Xamarin Forms)
- yaml - 以自定义变量为条件的 Azure 管道
- wordpress - 使用 REST API 创建带有外部附件 URL 的产品
- security - 为什么 AWS Cognito 访问令牌的生命周期是 1 小时,是不是太长了?为什么aws不允许通过控制台或sdk设置它?
- list - 将项目添加到现有列表 mvc5