2017-05-08 81 views
4

我正在使用setBoundsBias限制谷歌地圖autocompletePlace中的自動完成結果,但結果包含超出範圍的地方。 有什麼問題?通過setBoundsBias限制自動完成結果

{ 

final int PLACE_AUTOCOMPLETE_REQUEST_CODE = 1; 

AutocompleteFilter typeFilter = new AutocompleteFilter.Builder() 
         .setCountry("IR") 
         .build(); 
       try { 
        Intent intent = 
          new PlaceAutocomplete.IntentBuilder(PlaceAutocomplete.MODE_OVERLAY) 
            .setBoundsBias(new LatLngBounds(new LatLng(38.051183, 46.211586), 
               new LatLng(38.132784, 46.392860))) 
            .setFilter(typeFilter) 
            .build(MainActivity.this); 
        startActivityForResult(intent, PLACE_AUTOCOMPLETE_REQUEST_CODE); 
        overridePendingTransition(R.anim.fadein, R.anim.fadeout); 

       } catch (GooglePlayServicesRepairableException | GooglePlayServicesNotAvailableException e) { 
        e.fillInStackTrace(); 
       } 

} 

回答

4

邊界偏差不是一個嚴格的過濾器,所以不能保證不包括該區域以外的地方。目前Android的Places API沒有應用嚴格界限的選項。

幾個月前,Places API Web服務和Maps JavaScript API的地方庫中引入了應用嚴格邊界過濾器的功能。你可以參考在問題追蹤器這個功能要求:

https://buganizer.corp.google.com/issues/35826806

然而,對於Android和Places API的商家信息API爲iOS仍然缺少這個功能。

我創建了一個功能要求的公開問題追蹤的Android:

https://issuetracker.google.com/issues/38188994

和iOS版:

https://issuetracker.google.com/issues/38188941

請明星這些功能要求添加您的票和訂閱來自Google的更新。

希望有一天他們會實現這個功能。