saber obtener mis mapa longitud lector latitud google geográficas geograficas coordenadas con como calcular buscar google-maps-api-3 autocomplete

google-maps-api-3 - mis - obtener coordenadas google maps android



Api del mapa de Google obtiene la latitud y la longitud de autocompletar sin mapa (7)

La API de Google Places también proporciona una API REST que incluye la función Autocompletar. https://developers.google.com/places/documentation/autocomplete

Pero la recuperación de datos del servicio debe usarse para un mapa.

Estoy tratando de obtener la latitud y la longitud de autocompletar api google map sin mostrar el mapa. En mi script, el autocompletado funciona bien, pero no puedo obtener la latitud y la longitud.

<script type="text/javascript"> function initialize() { var options = { types: [''(cities)''] }; var input = document.getElementById(''searchTextField''); var autocomplete = new google.maps.places.Autocomplete(input, options); } google.maps.event.addDomListener(window, ''load'', initialize); var geocoder = new google.maps.Geocoder(); var address = autocomplete; geocoder.geocode( { ''address'': address}, function(results, status) { if (status == google.maps.GeocoderStatus.OK) { var latitude = results[0].geometry.location.lat(); var longitude = results[0].geometry.location.lng(); alert(latitude); } }); </script>


No puede obtener la latitud / longitud de la API de autocompletar ya que los datos generados por google desde esa API no contienen campo de latitud y logitud. Ejemplo:-

{ "predictions" : [ { "description" : "IIT Mumbai, Mumbai, Maharashtra, India", "id" : "ac3235cda973818a89b5fe21ad0f5261ac9b6723", "matched_substrings" : [ { "length" : 10, "offset" : 0 } ], "reference" : "CkQ0AAAAHWg-RSngiYHHdz_yqyFKmfSoBwT-_PW0k8qQDhsbiVrk7BlPHCyJb58OthledMUTGYS5Vhec1Zj2L7w9Rq0zDxIQrbn05RX1QgWHkSXsmTk1TRoU45APW2BBRIUsA3t6XBy_8s0BPPA", "terms" : [ { "offset" : 0, "value" : "IIT Mumbai" }, { "offset" : 12, "value" : "Mumbai" }, { "offset" : 20, "value" : "Maharashtra" }, { "offset" : 33, "value" : "India" } ], "types" : [ "establishment", "geocode" ] } ], "status" : "OK" }

Puede usar la API de Google para obtener la longitud y la latitud de su dirección. Como ya dijiste, debes implementar un campo oculto donde el resultado debe insertarse. Luego puede guardar la ubicación junto con las coordenadas.

ej. https://maps.googleapis.com/maps/api/geocode/json?address=IIT%20Area,%20Mumbai,%20Maharashtra,%20India&sensor=false

Recientemente implementé esta función en uno de mis proyectos:

function getLatLngFromAddress(city, country){ var address = city +", "+ country; var geocoder = new google.maps.Geocoder(); geocoder.geocode( { ''address'': address}, function(results, status) { if (status == google.maps.GeocoderStatus.OK) { $(''#latitude'').val(results[0].geometry.location.Pa); $(''#longitude'').val(results[0].geometry.location.Qa); } else { console.log("Geocode was not successful for the following reason: " + status); } }); }


Puede obtener desde la misma API sin ninguna llamada adicional de API o url.

HTML

<input class="wd100" id="fromInput" type="text" name="grFrom" placeholder="From" required/>

Javascript

var input = document.getElementById(''fromInput''); var defaultBounds = new google.maps.LatLngBounds( new google.maps.LatLng(-33.8902, 151.1759), new google.maps.LatLng(-33.8474, 1512631) ) var options = { bounds: defaultBounds } var autocomplete = new google.maps.places.Autocomplete(input, options); var searchBox = new google.maps.places.SearchBox(input, { bounds: defaultBounds }); google.maps.event.addListener(searchBox, ''places_changed'', function() { var places = searchBox.getPlaces(); console.log(places[0].geometry.location.G); // Get Latitude console.log(places[0].geometry.location.K); // Get Longitude //Additional information console.log(places[0].formatted_address); // Formated Address of Place console.log(places[0].name); // Name of Place if (places.length == 0) { return; } var bounds = new google.maps.LatLngBounds(); console.log(bounds); }); }


Puedes usar el código a continuación.

<script src="http://maps.googleapis.com/maps/api/js?libraries=places" type="text/javascript"></script> <script type="text/javascript"> function initialize() { var input = document.getElementById(''searchTextField''); var autocomplete = new google.maps.places.Autocomplete(input); google.maps.event.addListener(autocomplete, ''place_changed'', function () { var place = autocomplete.getPlace(); document.getElementById(''city2'').value = place.name; document.getElementById(''cityLat'').value = place.geometry.location.lat(); document.getElementById(''cityLng'').value = place.geometry.location.lng(); //alert("This function is working!"); //alert(place.name); // alert(place.address_components[0].long_name); }); } google.maps.event.addDomListener(window, ''load'', initialize); </script>

... y esta parte está dentro de tu formulario:

<input id="searchTextField" type="text" size="50" placeholder="Enter a location" autocomplete="on" runat="server" /> <input type="hidden" id="city2" name="city2" /> <input type="hidden" id="cityLat" name="cityLat" /> <input type="hidden" id="cityLng" name="cityLng" />

Espero que ayude.


Sí tu puedes:

var place = autocomplete.getPlace(); document.getElementById(''lat'').value = place.geometry.location.lat(); document.getElementById(''lon'').value = place.geometry.location.lng();


Solo necesito:

var place = autocomplete.getPlace(); // get lat var lat = place.geometry.location.lat(); // get lng var lng = place.geometry.location.lng();


@Override public void onPlaceSelected(Place place) { LatLng autoCompleteLatLng = place.getLatLng(); newLoc = new Location("New"); newLoc.setLatitude(autoCompleteLatLng.latitude); newLoc.setLongitude(autoCompleteLatLng.longitude); geoLocate(newLoc);//mark it in map }