0

J'ai travaillé sur cette recherche de Google Places très simple et je ne peux rien obtenir d'autre qu'un ZERO_RESULTS. Cela n'a aucun sens pour moi à ce stade car ma carte fonctionne et affiche les marqueurs de ma base de données dans une fonction AJAX séparée. J'ai connecté mes objets et variables et tout semble bien aller.Google Places et ZERO_RESULTS

Pourquoi le rappel de succès va-t-il directement à mon instruction else avec ZERO_RESULTS?

$("#submit3").click(function(e) { 
    e.preventDefault(); 
    findPlaces(); 
    $('#results').text("Triggah3!"); 
}); 

function findPlaces() { 

    var lat = document.getElementById("latitude").value; 
    var lng = document.getElementById("longitude").value; 
    var cur_location = new google.maps.LatLng(lat, lng); 

    // prepare request to Places 
    var request = { 
     location: cur_location, 
     radius: 50000, 
     types: 'bank' 
    }; 

    // send request 
    service = new google.maps.places.PlacesService(map); 
    service.search(request, createMarkers); 
} 

// create markers (from 'findPlaces' function) 
function createMarkers(results, status) { 
    if (status == google.maps.places.PlacesServiceStatus.OK) { //ZERO_RESULTS 

     // if we have found something - clear map (overlays) 
     clearOverlays(); 

     // and create new markers by search result 
     for (var i = 0; i < results.length; i++) { 
      createMarker(results[i]); 
     } 
    } else if (status == google.maps.places.PlacesServiceStatus.ZERO_RESULTS) { 
     alert('Sorry, nothing is found'); 
    } 
} 

// create single marker function 
function createMarker(obj) { 

    // prepare new Marker object 
    var mark = new google.maps.Marker({ 
     position: obj.geometry.location, 
     map: map, 
     title: obj.name 
    }); 
    markers.push(mark); 

    // prepare info window 
    var infowindow = new google.maps.InfoWindow({ 
     content: '<img src="' + obj.icon + '" /><font style="color:#000;">' + obj.name + 
     '<br />Rating: ' + obj.rating + '<br />Vicinity: ' + obj.vicinity + '</font>' 
    }); 

    // add event handler to current marker 
    google.maps.event.addListener(mark, 'click', function() { 
     clearInfos(); 
     infowindow.open(map,mark); 
    }); 
    infos.push(infowindow); 
} 
+0

Turns out qui doit avoir été un problème d'API. Il a mystérieusement commencé à travailler sur mon premier rafraichissement aujourd'hui ... Le code est correct. – BenRacicot

+0

Peut-être avez-vous dépassé votre limite? Je pense que Google Places ne permet qu'un certain nombre de demandes par jour. – putvande

+0

Bonne idée, mais la clé API était tout nouveau pour les lieux. La seule chose qui a du sens est que Google n'a pas basculé mon commutateur pendant 24 heures .... – BenRacicot

Répondre

0

types est censé être un tableau.

Utilisation:

types: ['bank'] 
+0

Cela fonctionne en fait comme une chaîne ... mais merci. – BenRacicot

+0

Pas pour moi: http://jsfiddle.net/doktormolle/dNE33/ –

+0

Ah ah! J'utilise les types: (['bank']) probablement pourquoi cela a fonctionné! Vous êtes attribué la réponse monsieur monsieur. – BenRacicot