в Google Map, как ограничить автопоиск для одного города в Индии - PullRequest
0 голосов
/ 17 октября 2018

В стране Индия ограничивают автопоиск только для города Пуна.Как мы можем достичь этого?

Я пробовал это,

autocomplete.setComponentRestrictions(
      {'country': ['in']},{'city':['Pune','Mumbai']});

Ответы [ 2 ]

0 голосов
/ 17 октября 2018

Вы можете сделать так:

function initMap() {
  var geocoder = new google.maps.Geocoder;
  var map = new google.maps.Map(document.getElementById('map'), {
    zoom: 8,
    center: {
      lat: 12.4716,
      lng: 77.588
    }
  });

  document.getElementById('submit').addEventListener('click', function() {
    geocodeAddress(geocoder, map);
  });
}

function geocodeAddress(geocoder, map) {
  geocoder.geocode({
    componentRestrictions: {
      country: 'IND',
      postalCode: '56000'
    }
  }, function(results, status) {
    if (status === 'OK') {
      map.setCenter(results[0].geometry.location);
      new google.maps.Marker({
        map: map,
        position: results[0].geometry.location
      });
    } else {
      window.alert('Geocode was not successful for the following reason: ' +
        status);
    }
  });
}
0 голосов
/ 17 октября 2018

Попробуйте, может быть, это будет полезно

var bangaloreBounds = new google.maps.LatLngBounds(
 new google.maps.LatLng(12.864162, 77.438610),
 new google.maps.LatLng(13.139807, 77.711895));

var autocomplete = new google.maps.places.Autocomplete(this, {
bounds: bangaloreBounds,
strictBounds: true,
});
autocomplete.addListener('place_changed', function () {});

или вы можете попробовать

var input = document.getElementById('searchCity');
var options = { types: ['(cities)'],componentRestrictions: {country: 'us' }};
var autoComplete = new google.maps.places.Autocomplete(cityInput,options);`

более эффективный способ сделать это самостоятельно

function InitializeFilter() {

    var iso           = ['AD','AE','AF','AG','AI','AL','AM','AO','AQ','AR','AS','AT','AU','AW','AX','AZ','BA','BB','BD','BE','BF','BG','BH','BI','BJ','BL','BM','BN','BO','BQ','BR','BS','BT','BV','BW','BY','BZ','CA','CC','CD','CF','CG','CH','CI','CK','CL','CM','CN','CO','CR','CU','CV','CW','CX','CY','CZ','DE','DJ','DK','DM','DO','DZ','EC','EE','EG','EH','ER','ES','ET','FI','FJ','FK','FM','FO','FR','GA','GB','GD','GE','GF','GG','GH','GI','GL','GM','GN','GP','GQ','GR','GS','GT','GU','GW','GY','HK','HM','HN','HR','HT','HU','ID','IE','IL','IM','IN','IO','IQ','IR','IS','IT','JE','JM','JO','JP','KE','KG','KH','KI','KM','KN','KP','KR','KW','KY','KZ','LA','LB','LC','LI','LK','LR','LS','LT','LU','LV','LY','MA','MC','MD','ME','MF','MG','MH','MK','ML','MM','MN','MO','MP','MQ','MR','MS','MT','MU','MV','MW','MX','MY','MZ','NA','NC','NE','NF','NG','NI','NL','NO','NP','NR','NU','NZ','OM','PA','PE','PF','PG','PH','PK','PL','PM','PN','PR','PS','PT','PW','PY','QA','RE','RO','RS','RU','RW','SA','SB','SC','SD','SE','SG','SH','SI','SJ','SK','SL','SM','SN','SO','SR','SS','ST','SV','SX','SY','SZ','TC','TD','TF','TG','TH','TJ','TK','TL','TM','TN','TO','TR','TT','TV','TW','TZ','UA','UG','UM','US','UY','UZ','VA','VC','VE','VG','VI','VN','VU','WF','WS','YE','YT','ZA','ZM','ZW'];
        goo           =  google.maps,
        input         = document.getElementById('searchCity'),
        country       = document.getElementById('shortNameCountry'),
        options       = {types: ['(cities)']},
        autoComplete  = new google.maps.places.Autocomplete(input,options);

    goo.event.addDomListener(country,'input',function(){
      var val=this.value.trim().toUpperCase();
      if(iso.indexOf(val)>-1){
        this.style.background='white';
        input.value=' ';
        autoComplete
        .setComponentRestrictions({country:val});

      }
      else{
        this.style.background='red';
      }
    });
    goo.event.trigger(country,'input');

  }
  google.maps.event.addDomListener(window, 'load', InitializeFilter);

для большего посещения здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...