Ciao a tutti,

sto cercando di integrare un Places Search con la possibilità di variare la posizione di visualizzazione della mappa e relativi risultati generati tramite una input text presente nella pagina. Ovviamente la input text contiene l'indicazione della nuova località.

Ecco il codice che sto utilizzando:
codice:
    <script src="https://maps.googleapis.com/maps/api/js?sensor=false&libraries=places"></script>
    <script>
      var map, placesList;
	  var geocoder;

      function initialize() {
		geocoder = new google.maps.Geocoder();
        var pyrmont = new google.maps.LatLng(44.720514, 10.562515);
        map = new google.maps.Map(document.getElementById('map-canvas'), {
          mapTypeId: google.maps.MapTypeId.ROADMAP,
          center: pyrmont,
		  rankBy: google.maps.places.RankBy.DISTANCE,
          zoom: 17
        });

        var request = {
          location: pyrmont,
		  radius: 5000,
          types: ['store']
        };

        placesList = document.getElementById('places');

        var service = new google.maps.places.PlacesService(map);
        service.nearbySearch(request, callback);
		}
		
		function codeAddress() {
        var address = document.getElementById('address').value;
        geocoder.geocode( { 'address': address}, function(results, status) {
          if (status == google.maps.GeocoderStatus.OK) {
            map.setCenter(results[0].geometry.location);
            var marker = new google.maps.Marker({
                // map: map,
				mapTypeId: google.maps.MapTypeId.ROADMAP,
				//center: pyrmont,
				rankBy: google.maps.places.RankBy.DISTANCE,
				zoom: 17,
                position: results[0].geometry.location
            });
          } else {
            alert('CHE CAZZO HAI SCRITTO PORCO DIO: ' + status);
          }
        });
		
		var request = {
          location: position,
		  radius: 5000,
          types: ['store']
        };
		
		 placesList = document.getElementById('places');

        var service = new google.maps.places.PlacesService(map);
        service.nearbySearch(request, callback);
      }

      function callback(results, status, pagination) {
        if (status != google.maps.places.PlacesServiceStatus.OK) {
          return;
        } else {
          createMarkers(results);

          if (pagination.hasNextPage) {
            var moreButton = document.getElementById('more');

            moreButton.disabled = false;

            google.maps.event.addDomListenerOnce(moreButton, 'click',
                function() {
              moreButton.disabled = true;
              pagination.nextPage();
            });
          }
        }
      }

      function createMarkers(places) {
        var bounds = new google.maps.LatLngBounds();

        for (var i = 0, place; place = places[i]; i++) {
          var image = {
            url: place.icon,
            size: new google.maps.Size(71, 71),
            origin: new google.maps.Point(0, 0),
            anchor: new google.maps.Point(17, 34),
            scaledSize: new google.maps.Size(25, 25)
          };

          var marker = new google.maps.Marker({
            map: map,
            icon: image,
            title: place.name,
            position: place.geometry.location
          });

          placesList.innerHTML += '[*]' + place.name + '';

          bounds.extend(place.geometry.location);
        }
        map.fitBounds(bounds);
      }

      google.maps.event.addDomListener(window, 'load', initialize);
    </script>
Questo codice mi sposta correttamente la mappa quando inserisco la nuova località, ma non mi vengono rigenerati i Places inerenti alla nuova località, ma rimangono quelli inseriti di base.

Dove sto sbagliando?

Grazie