Tôi đang làm việc với API bản đồ google và bất cứ khi nào tôi trả lại biến cho hàm khởi tạo từ hàm codeLatLng, nó tuyên bố không xác định. Nếu tôi in biến từ codeLatLng nó sẽ hiển thị tốt.Làm cách nào để tôi trả lại biến từ cuộc gọi lại bộ mã hóa địa lý JavaScript của Google Maps?
var geocoder;
function initialize() {
geocoder = new google.maps.Geocoder();
var latlng = new google.maps.LatLng(40.730885,-73.997383);
var addr = codeLatLng();
document.write(addr);
}
function codeLatLng() {
var latlng = new google.maps.LatLng(40.730885,-73.997383);
if (geocoder) {
geocoder.geocode({'latLng': latlng}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
if (results[1]) {
return results[1].formatted_address;
} else {
alert("No results found");
}
} else {
alert("Geocoder failed due to: " + status);
}
});
}
}
in ra không xác định
Nếu tôi làm:
var geocoder;
function initialize() {
geocoder = new google.maps.Geocoder();
var latlng = new google.maps.LatLng(40.730885,-73.997383);
codeLatLng();
}
function codeLatLng() {
var latlng = new google.maps.LatLng(40.730885,-73.997383);
if (geocoder) {
geocoder.geocode({'latLng': latlng}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
if (results[1]) {
document.write(results[1].formatted_address);
} else {
alert("No results found");
}
} else {
alert("Geocoder failed due to: " + status);
}
});
}
}
in ra New York, NY 10012, USA
is it có thể trả về giá trị của addr? làm thế nào tôi nên gán addr cho một biến? – AbtPst
@AbtPst: Bạn không thể trả lại bất cứ điều gì từ kết quả trong một cuộc gọi không đồng bộ, khi cuộc gọi trả về trước khi có kết quả. Nơi tôi đặt 'alert (addr);' là nơi bạn có thể sử dụng kết quả.Có thể gán giá trị cho biến toàn cầu ở đó, nhưng sau đó bạn sẽ vẫn phải chờ giá trị đến. – Guffa
vâng, điều đó sẽ ổn thôi. thực ra tôi có một dãy giá trị dài lat. tôi muốn xử lý mảng lặp và tiếp tục thêm địa chỉ vào danh sách. bằng cách này, có cách nào để đảo ngược mã địa lý một mảng các giá trị lat lon cùng một lúc không? và làm thế nào để tôi gán addr cho một biến toàn cầu? tôi chỉ có thể làm x = addr bên trong chức năng? – AbtPst