javascript - Radius ignored google maps API -
i see points of interest within recover slider feel property radius not taken account. when try change value , see change, not result. radius in meters ? can me? thank in advance
var radius = 50; $(document).ready(function(){ $('#range-input').on('change', function(evt, range) { radius = $(this).val(); $('#range-output').val($(this).val() + "m"); }); }); var infowindow; var latu; var lngu; var distance; var motcle; function initmap() { var mapoptions = { zoom:12, scalecontrol: true, streetviewcontrol: true, zoomcontrol: true, zoomcontroloptions: { style: google.maps.zoomcontrolstyle.small, position: google.maps.controlposition.right_center }, maptypeid: google.maps.maptypeid.roadmap } geocoder = new google.maps.geocoder(); infowindow = new google.maps.infowindow(); if (navigator.geolocation) navigator.geolocation.getcurrentposition(successcallback, null, {enablehighaccuracy:true}); else alert("votre navigateur ne prend pas en compte la géolocalisation, activez la localisation et réessayer"); function successcallback(position){ var distance = radius+'m'; var motcle = $('#motcle').val; latu = position.coords.latitude ; lngu = position.coords.longitude; map.panto(new google.maps.latlng(position.coords.latitude, position.coords.longitude)); var mylatlng = new google.maps.latlng(latu, lngu); var marker = new google.maps.marker({ position: new google.maps.latlng(position.coords.latitude, position.coords.longitude), map: map, name: 'vous êtes ici', title: 'vous êtes ici' }); google.maps.event.addlistener(marker, 'click', function () { infowindow.setcontent(marker.name); infowindow.open(map, this); }); var requestnearby = { location: mylatlng, //paramètre de l'endroit ou se trouve la personne radius: distance, types: ['shopping_mall', 'grocery_or_supermarket'], opennow: true }; service = new google.maps.places.placesservice(map); service.nearbysearch(requestnearby, callbacknearby); function callbacknearby(results, status) { if (status == google.maps.places.placesservicestatus.ok) { (var = 0; < results.length; i++) { var place = results[i]; createmarker(results[i]); } } } function createmarker(place) { var placeloc = place.geometry.location; var marker = new google.maps.marker({ map: map, position: place.geometry.location }); google.maps.event.addlistener(marker, 'click', function () { infowindow.setcontent(place.name); infowindow.open(map, this); }); }} map = new google.maps.map(document.getelementbyid("map"), mapoptions); } $('#searchform').submit(function(e){ function createmarker(place) { var placeloc = place.geometry.location; var marker = new google.maps.marker({ map: map, position: place.geometry.location }); google.maps.event.addlistener(marker, 'click', function () { infowindow.setcontent(place.name); infowindow.open(map, this); }); } //alert('sa marche !'); e.preventdefault(); var mylatlng; console.log(radius); $.ajax({ method : $(this).attr('method'), url : $(this).attr('action'), data : $(this).serialize(), datatype: 'json' }).done(function(data){ if(data.success){ if(navigator.geolocation) { navigator.geolocation.getcurrentposition(function (position) { var latu = position.coords.latitude; var lngu = position.coords.longitude; mylatlng = new google.maps.latlng(latu, lngu); console.log(mylatlng); servicesearch = new google.maps.places.placesservice(map); var requesttext = { location: mylatlng, radius: radius, query: data['message'], opennow: true }; servicesearch.textsearch(requesttext, callbacktext); function callbacktext(results, status) { if (status == google.maps.places.placesservicestatus.ok) { (var = 0; < results.length; i++) { var place = results[i]; createmarker(results[i]); } } } }); } } else { alert('sa ne fonctionne pas correctement!'); } }); return false; }); <div class="row"> <div class="col-xs-6"> <div class="range"> <input type="range" id="range-input" name="range" min="1000" max="20000" value="1000"> <output id="range-output">1000m</output> </div> </div> </div> </div>
from documentation radius needs number distance in meters; var distance = radius+'m'; makes string.
radius | type: number distance given location within search places, in meters. maximum allowed value 50 000.
Comments
Post a Comment