2017-08-24 1 views
0

Je souhaite écrire du Javascript qui permettra à un utilisateur de saisir un emplacement en utilisant la saisie semi-automatique et en utilisant l'une des nombreuses API liées à l'emplacement de Google. L'entrée de l'utilisateur sera Ville ou Ville nom dans un pays, une route nom, une adresse complète (numéro de porte + nom Road), un Lieu nom (par exemple un restaurant) ou un Code postal.API Google Location, laquelle est-elle adaptée à mes besoins?

Avec cette entrée, je voudrais saisir la latitude et la longitude , et le cas échéant un code postal/postal fourni. Il ya une myriade d'API disponibles pour ce sujet et j'ai essayé de jouer avec google.maps.Geocoder qui fournissait des résultats parfois erronés (en passant des informations Lat/Long aléatoires pour les villes qui se complétaient automatiquement correctement). S'il vous plaît pourriez-vous conseiller lequel serait le mieux pour mes besoins.

Merci

+0

https://developers.google.com/maps/documentation/javascript/places-autocomplete –

Répondre

0
var lat=0, lng=0; 

    document.addEventListener("deviceready", index, false); 

    function index(){ 
     initialMap(); 
     $("#pac-input").on("change",function(){ 
      setTimeout(function(){ 
       address = $("#pac-input").val(); 
       nativegeocoder.forwardGeocode(getlatlngFetch, faild, address); 
      },600); 
     }); 
    } 

    function initialMap() { 
     var input = document.getElementById('pac-input'); 

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

     var infowindow = new google.maps.InfoWindow(); 

     autocomplete.addListener('place_changed', function() { 
      var place = autocomplete.getPlace(); 
      if (!place.geometry) { 
      window.alert("No details available for input: '" + place.name + "'"); 
      return; 
      } 
     }); 
    } 

    function getlatlngFetch(coordinates){ 
     lat = coordinates.latitude; 
     lng = coordinates.longitude; 
     alert("Lattitude= "+lat+" Longitude= "+lng); 
    } 

function faild(){ 
    alert('Failed'); 
} 

Ce code fonctionne pour le développement d'applications mobiles cordova. Télécharger le plugin forwardGeocode dehttps://www.npmjs.com/package/cordova-plugin-nativegeocoder