Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何限制GoogleMapsAPI自动完成服务提供越界建议_Java_Google Maps_Google Maps Api 3 - Fatal编程技术网

Java 如何限制GoogleMapsAPI自动完成服务提供越界建议

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':

目前我正在使用谷歌地图API中的
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