2

Google プレイス検索を使用しており、GCC 諸国 (UAE、サウジアラビア、オマーン、クウェート、バーレーン) で「ロケーション バイアス」が必要です。

以下を達成したい https://developers.google.com/maps/documentation/places/autocomplete#location_biasing

アラブ首長国連邦、サウジアラビア、オマーン、クウェート、バーレーンの結果のみをユーザーが表示できるテキスト ボックスに Google プレイス検索を提供したいですか?

ありがとう、


以下のコード スニペットに示すように、「componentRestrictions」引数を使用して、1 つの国で「ロケーション バイアス」を設定できます。

var mapOptions = {
          //bounds : defaultBounds,  
          center: new google.maps.LatLng(25.2644444, 55.31166669999993),
          zoom: 13,
          mapTypeId: google.maps.MapTypeId.ROADMAP
        };

        map = new google.maps.Map(document.getElementById('map_canvas'),
          mapOptions);

        var input = document.getElementById('searchTextField');        
        var InputOptions = {
            types: ['(cities)'],
            **componentRestrictions: { country: 'AE' } // I want multiple counteries here**
        };                
        var autocomplete = new google.maps.places.Autocomplete(input, InputOptions);

しかし、上記の複数のカウンターでロケーションバイアスが必要です。

4

3 に答える 3

1

これは(現時点では)不可能だと思います。結果を1つの国に制限することは、数週間前に機能として追加されただけです。最善のオプションは、Places Library Webサイトのこの例に示すように、マップの境界によって結果を制限することです。

var defaultBounds = new google.maps.LatLngBounds(
  new google.maps.LatLng(-33.8902, 151.1759),
  new google.maps.LatLng(-33.8474, 151.2631)); 

var input = document.getElementById('searchTextField');
var options = {
  bounds: defaultBounds,
  types: ['establishment']
};

autocomplete = new google.maps.places.Autocomplete(input, options);

目的の地域に最適な境界を見つけます。

于 2012-06-07T07:48:46.537 に答える
1

正確に何をしたいですか?

私の理解が正しければ、これらの国 (UAE、サウジアラビア、オマーン、クウェート、バーレーン) のいずれかをジオコーディングしたいだけですか?

  function geocodeAddress() {
    var address = "Oman";
    geocoder.geocode( { 'address': address}, function(results, status) {
      if (status == google.maps.GeocoderStatus.OK) {
        position: results[0].geometry.location // gives you the location
        });
      } else {
        alert("Error: " + status);
      }
    });
  }
于 2012-06-04T19:00:49.873 に答える