2011-09-27 15 views
7

Reduje el autocompletado a una región y a unos límites que solo cubren Australia, pero aún estoy esperando el autocompletado con Chile y China y otro país fuera del área seleccionada. ¿Alguien tiene una buena solución para resolver este problema? Tampoco puedo cambiar el estilo de la función de autocompletado de Google, es una div autogenerada con etiqueta de estilo que supera mi estilo para autocompletar DIV? Empecé a utilizar Geocoder y Jquery autocompletar para filtrar los resultados, pero no funciona tan bien como Google Autocomplete, ¿los resultados son menores que la autocompletar de Google Maps?Autocompletar Google Map V3 ¿Lugares imposibles de personalizar?

que llame a la biblioteca de esta manera:

Aquí está el código de crear el auto completo:

var defaultBounds = new google.maps.LatLngBounds(
    new google.maps.LatLng(-47.5765257137462, 106.259765625), 
    new google.maps.LatLng(-9.6, 179.359375)); 

    var options = { 
     bounds: defaultBounds, 
     types: ['geocode'], 
     offset: 5 
    }; 

    var input = document.getElementById('store-locator-header'); 

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

Respuesta

2

Cuando Adding Autocomplete con bounds, resultados son sesgada hacia, pero no restringido a, Lugares incluidos dentro de estos límites. Esto es lo mismo que cuando se usa Viewport Biasing en el Geocoding API. Me temo que no tengo un método para filtrar las sugerencias que caen fuera del bounds.

4

Hoy en día, se puede restringir a un país con:

componentRestrictions: {país: 'nosotros'},

0

Otra forma de qucikly modifique para requisitos particulares puede ser que active la restricción de componentes como se muestra a continuación

var autocomplete = new google.maps.places.Autocomplete(input); 
//autocomplete.bindTo('bounds', map);//restrict to bounds or viewport 
autocomplete.setComponentRestrictions({'country': 'uk'});//restrict to country 

más sobre lugares de empuje here

0

El problema es que LatLngBounds espera al sur-oeste y norte-e ast esquinas.

En lugar de:

var defaultBounds = new google.maps.LatLngBounds(
    new google.maps.LatLng(-47.5765257137462, 106.259765625), 
    new google.maps.LatLng(-9.6, 179.359375)); 

Debería ser:

var defaultBounds = new google.maps.LatLngBounds(
    new google.maps.LatLng(-9.6, 106.259765625), 
    new google.maps.LatLng(-47.5765257137462, 179.359375)); 

En realidad, hay documentation to style the UI elements of Autocomplete.

Cuestiones relacionadas