Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [Google Map] Integrazione Places Search e Geocoding

    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

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    posta anche la parte html, quando ho un po' di tempo ci do un occhiata...

  3. #3
    modera il linguaggio

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.