Có, những gì bạn đang cố gắng đạt được là có thể, mặc dù yêu cầu đồng bộ là không cần thiết.
Nhìn vào mã này
function StoreGeo()
{
var address = $('input[name=zipcode]').val() + ', ' + $('input[name=city]').val();
geocoder.geocode({ 'address': address}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
var ll = results[0].geometry.location.toString();
llarr = ll.replace(/[\(\) ]/g, '').split(',');
for(i = 0; i < llarr.length;i++)
{
$('#form').append($('<input type="hidden" name="'+(i == 0 ? 'lat' : 'long')+'">').val(llarr[i]));
}
$('#form').submit();
}
else
{
alert(status);
}
});
$('#form').unbind('submit');
return false;
}
$(document).ready(function() {
//init maps
geocoder = new google.maps.Geocoder();
$('#form').bind('submit',function() {
StoreGeo();
});
});
Vì vậy, đính kèm nộp xử lý với hình thức, khi nó được gửi làm theo yêu cầu geo dựa trên các thông tin địa chỉ từ hình thức của bạn. Nhưng đồng thời trì hoãn việc gửi bằng cách trả về false trong trình xử lý. Trình xử lý phản hồi sẽ tạo 2 vùng văn bản ẩn 'lat' và 'long' và lưu trữ phản hồi. cuối cùng biểu mẫu được gửi bởi kịch bản lệnh khách, bao gồm cả hai trường mới. Ở phía máy chủ, bạn có thể lưu trữ chúng trong DB.
!! Lưu ý rằng điều này là có thể, nhưng có lẽ là chống lại các điều khoản google, như đã nói ở trên.
Tôi có một biểu mẫu bao gồm địa chỉ. Là một phần của việc xác thực dữ liệu biểu mẫu, tôi đã nghĩ đến việc sử dụng gocgles geocoder để kiểm tra địa chỉ. Tôi cũng cần các giá trị vĩ độ, kinh độ để nhập vào cơ sở dữ liệu của tôi. Tôi biết tôi có thể làm điều này bằng cách sử dụng chức năng gọi lại, nhưng điều đó có vẻ như một hack và sẽ phức tạp hơn. – giroy
Bộ mã hóa địa lý được thiết kế hoàn toàn để sử dụng với chức năng gọi lại. Đừng lo lắng, nó không phải là một hack. :) Nó thực sự là lựa chọn duy nhất của bạn. Tuy nhiên, hãy nhớ rằng bạn sẽ vi phạm Điều khoản dịch vụ của Google Maps nếu bạn đang sử dụng Trình mã hoá địa lý mà không hiển thị kết quả trên Google Map bằng cách nào đó. –
xa như tôi biết, bạn không thể sử dụng api google trong một hệ thống nội bộ hoặc với một đối tượng được chọn. Trang của bạn sử dụng Bản đồ phải mở cho toàn bộ internet - đọc các điều khoản của hợp đồng. Tốt @B Chris @Chris B –