2010-01-25 49 views
7

Tôi thực sự thất vọng với kết quả địa lý của Google và hy vọng ai đó có thể tư vấn cho tôi điều tốt nhất là đi.Google Map GEO Results

Tôi đã tạo tính năng Tự động đề xuất nơi bạn có thể bắt đầu nhập địa chỉ và Google sẽ phản hồi với các đề xuất. Người dùng sau đó chọn và địa chỉ để di chuyển.

Nhưng trước khi tôi muốn họ tiếp tục trên trang tiếp theo, tôi muốn xác thực lựa chọn của họ. Tôi đã nghĩ rằng điều này sẽ dễ dàng vì chúng tôi chỉ kiểm tra những gì Google đã cung cấp. Nhưng khi tôi thực hiện tra cứu xác nhận của mình, nó sẽ không hiển thị kết quả nào.

Một số mã ví dụ:

phép nói rằng tôi chọn từ gợi ý địa chỉ này: Suffield, CT 06.078, Mỹ

Sau đó, trên xác nhận tôi làm một tra cứu thứ hai với ví dụ địa chỉ này.

$string = "Suffield, CT 06078, USA";  
echo 'http://maps.google.com/maps/geo?output=json&oe=utf8&gl=us&sensor=false&key=[MyKey]&q='.urlencode($string).''; 

Nó mang lại cho tôi Error code 602 (G_GEO_UNKNOWN_ADDRESS)

Làm thế nào có thể nó không được tìm thấy khi trao nó cho tôi địa chỉ?

Làm cách nào tôi có thể giải quyết vấn đề này?

+0

Hình như nó hoạt động nếu bạn loại bỏ một trong hai tiểu bang hoặc mã zip. Tôi không biết lý do tại sao ... –

+0

API này không được sử dụng nữa ** maps.google.com/maps/geo? **? – EmptyStack

Trả lời

1

Nó thực sự kỳ lạ, để chắc chắn, nhưng tôi đã có thể xác nhận địa chỉ bằng cách sử dụng tên tiểu bang đầy đủ.

Không làm việc:

http://maps.google.com/maps/geo?output=json&oe=utf8&gl=us&sensor=false&key=[MyKey]&q=Suffield,%20CT%2006078

làm việc:

http://maps.google.com/maps/geo?output=json&oe=utf8&gl=us&sensor=false&key=[MyKey]&q=Suffield,%20Connecticut%2006078

Và vâng, địa chỉ họ cung cấp cho bạn không làm việc theo cách riêng của họ em. Điều đó đang được nói, tìm kiếm Hartford, CT DOES làm việc. Có vẻ như có sự khác biệt trong danh sách trong dữ liệu của họ, nhờ đó Suffield + CT trả về kết quả sai.

3

Bạn nói đúng. Điều đó khá lạ.

Lưu ý rằng nó làm việc khi bạn loại bỏ các khoảng trống giữa CT và 06.078:

http://maps.google.com/maps/geo?q=Suffield,+CT06078,+USA&output=csv&sensor=false 

Các lợi nhuận trên 41,9817631, -72,6506462. (Link to Google Maps)


Xếp mã hóa địa lý những tọa độ với:

http://maps.google.com/maps/geo?q=41.9817631,-72.6506462&output=csv&sensor=false 

lợi nhuận:

200,4,"Suffield, CT, USA" 
+0

Wiered bằng cách xóa một không gian hoạt động?Có thể phải có bản sao lưu API của Yahoo và họ có thể xóa không gian và thử lại – Lee