Итак; Я разрабатываю это веб-приложение, которое работает на основе местоположения пользователя.Javascript, чтобы вернуть адрес пользователя с помощью API Карт Google
Часть, которая находит координаты и часть, которая преобразует эти координаты в адрес, работает как индивидуально. Однако переменная из первой функции, похоже, не переходит к второй функции, и я не могу понять, почему.
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&signed_in=true"></script>
<script type="text/javascript">
var coordinates;
function getCoordinates(){
var options = {
enableHighAccuracy: true,
timeout: 4500,
maximumAge: 0
};
function success(pos) {
var crd = pos.coords;
console.log('Enlem : ' + crd.latitude);
console.log('Boylam: ' + crd.longitude);
console.log('Hata Payı ' + crd.accuracy + ' metre.');
coordinates = new google.maps.LatLng(crd.latitude, crd.longitude);
alert(coordinates);
return coordinates;
};
function error(err) {
console.warn('HATA(' + err.code + '): ' + err.message);
};
navigator.geolocation.getCurrentPosition(success, error, options);
}
var ReverseGeocode = function() {
//This is declaring the Global variables
var geocoder, map, marker;
//This is declaring the 'Geocoder' variable
geocoder = new google.maps.Geocoder();
function GeoCode(latlng) {
// This is making the Geocode request
geocoder.geocode({ 'latLng': latlng }, function (results, status) {
if(status !== google.maps.GeocoderStatus.OK)
{
alert(status);
}
// This is checking to see if the Geoeode Status is OK before proceeding
if (status == google.maps.GeocoderStatus.OK) {
var address = (results[0].formatted_address);
//This is placing the returned address in the 'Address' field on the HTML form
document.getElementById('Address').value = results[0].formatted_address;
}
});
}
return {
Init: function() {
var latlng = getCoordinates();
alert(latlng);
GeoCode(latlng);
},
};
}();
</script>
</head>
<body>
<div>
<input name="Address" type="text" id="Address" size="55" />
</div>
<div>
<input type="button" value="Adres Bul" onclick="ReverseGeocode.Init()">
</div>
<div id="map_canvas" style="height: 90%; top: 60px; border: 1px solid black;">
</div>
</body>
</html>
Одна вещь, которую я заметил, это предупреждение (latLng) - captial L - так что проблема может быть не такой, как вы думаете, просто предупреждение не так –
О, это опечатка произошла, когда я передавал код здесь. Я изменю его на то, как он находится в исходном коде. Спасибо. –
Посмотрите на мое сообщение здесь, я думаю, вам это нужно http://stackoverflow.com/questions/27203977/google-api-address-components#27226620 –