我有一个输入,我想用作谷歌地图自动完成搜索,但有一些自定义用户界面(使标准自动完成小部件(https://developers.google.com/maps/documentation/javascript/reference#Autocomplete)无法使用)。标准窗口小部件允许我指定一个边界框以从中获取结果,并指定仅通过指定strictBounds
来考虑在该框中找到的结果。正常行为是从边界框内部对结果进行优先级排序,但这对我不起作用,因此strictBounds
至关重要。
由于Autocomplete-widget不适合我的UI,我尝试使用AutocompleteService(https://developers.google.com/maps/documentation/javascript/places-autocomplete#place_autocomplete_service)来实现自己的UI。这样可以正常工作,除了无法使用服务指定strictBounds
。
经过多次挖掘后,我发现您可以直接调用API(https://developers.google.com/places/web-service/autocomplete#location_restrict)。虽然看起来有点不必要的复杂,但确实解决了无法指定strictBounds
的问题。不幸的是,它的问题是只接受中心点和半径形式的边界,而不是使用边界框。
所以我的问题是:在一个带有自定义UI的边界框(并且只有那个框)中实现自动完成的好方法是什么?