Java 如何限制GoogleMapsAPI自动完成服务提供越界建议
目前我正在使用谷歌地图API中的Java 如何限制GoogleMapsAPI自动完成服务提供越界建议,java,google-maps,google-maps-api-3,Java,Google Maps,Google Maps Api 3,目前我正在使用谷歌地图API中的AutocompleteService类。从中,我使用边界为纽约市应用边界。然而,我从新泽西州和宾夕法尼亚州得到了结果 AutocompleteService类没有strictBounds选项,因此很难将结果限制在范围内。以下是我为纽约市提供的范围: /** * NYC Bound Parameters for Google Maps API * @enum {object} */ OfficeMap.NYC_BOUNDS = { 'south':
AutocompleteService
类。从中,我使用边界
为纽约市应用边界。然而,我从新泽西州和宾夕法尼亚州得到了结果
AutocompleteService类没有strictBounds
选项,因此很难将结果限制在范围内。以下是我为纽约市提供的范围:
/**
* NYC Bound Parameters for Google Maps API
* @enum {object}
*/
OfficeMap.NYC_BOUNDS = {
'south': 40.4773991,
'west': -74.25908989999999,
'north': 40.9175771,
'east': -73.7002721
};
然而,这并不像预期的那样完全有效,因为来自纽约以外地区的建议表明:
如上图所示,PA的建议如下所示
/** @private {this._google.maps.places.Autocomplete}Autocomplete instance */
this._service = new this._google.maps.places.AutocompleteService();
// Attach handler for the autocomplete search box. This updates the map
// position and re-sorts locations around that position.
this._searchEl.addEventListener('keyup', event => {
if(event.target.value) {
this._service.getPlacePredictions({
input: event.target.value,
offset: 3,
types: ['geocode'],
componentRestrictions: {country: 'us'},
bounds: OfficeMap.NYC_BOUNDS
}, predictions => {
if(predictions) {
let results = predictions.map(e => [e['description']]);
this._inputAutocomplete._autocomplete.options = results;
const autocompleteSelf = this._inputAutocomplete._autocomplete;
this._inputAutocomplete._autocomplete.select = () => {
if (autocompleteSelf.highlightedIndex !== -1) {
autocompleteSelf.input.value = autocompleteSelf
.scoredOptions[autocompleteSelf.highlightedIndex]
.displayValue;
autocompleteSelf.removeDropdown();
let nameOfLocation = autocompleteSelf.input.value;
let googlePlaceObj = this.getGooglePlaceByName(nameOfLocation,
predictions);
this.displayPlacesOnMap(googlePlaceObj);
}
};
}
});
}
});
方法getPlacePredictions
应该只给出NYC建议,因为它是传递的NYC边界参数。从
没有办法限制它
我如何限制AutocompleteService
getPlacePredictions
只返回边界内的对象?特别是由于AutocompleteService
是@private
,您似乎应该使用该类,它确实支持strictBounds
,特别是由于自动完成服务
是@private
,因此您似乎应该使用该类,它确实支持strictBounds
我们有一个条目用于此功能请求,以便在我们的Google公共问题跟踪器中为自动完成服务添加strictBounds
问题跟踪器中的问题由谷歌地图平台API专家直接策划,只要工程团队有消息,他们就会在问题跟踪器中提供更新
我们热烈邀请您在问题跟踪程序中查看问题,并启动它以登记您的兴趣。这将订阅您接收有关该问题的技术更新。该问题的突出也为我们提供了关于该问题对客户重要性的宝贵反馈,并提高了产品工程团队对该问题的优先级
您可以在此处查看并启动该问题:
-
此问题跟踪器条目是有关此问题的公共信息的权威来源,所有与公共相关的更新都将发布在那里。我们有一个条目,用于此功能请求,以便在我们的Google公共问题跟踪器中为自动完成服务添加strictBounds 问题跟踪器中的问题由谷歌地图平台API专家直接策划,只要工程团队有消息,他们就会在问题跟踪器中提供更新 我们热烈邀请您在问题跟踪程序中查看问题,并启动它以登记您的兴趣。这将订阅您接收有关该问题的技术更新。该问题的突出也为我们提供了关于该问题对客户重要性的宝贵反馈,并提高了产品工程团队对该问题的优先级 您可以在此处查看并启动该问题: -
此问题跟踪条目是有关此问题的公共信息的权威来源,所有与公共相关的更新都将发布在那里。虽然恼人,但因为
边界
确实说“预测将偏向于但不限于给定的边界”。尽管恼人,因为边界
确实说“预测将偏向于但不限于给定的界限。“问题是,Autocomplete
没有提供我需要的offset
选项。您是否尝试将所需选项传递给其中一个?即使没有文档记录,也可能支持它,因为我打赌Autocomplete
只是传递到引擎盖下的AutocompleteService
。问题是Autocomplete
没有提供我需要的offset
选项。您是否尝试将所需的选项传递给其中一个?即使没有文档,它也可能得到支持,因为我打赌Autocomplete
只是传递到引擎盖下的AutocompleteService
。