2010-01-11 52 views
8

Xin lỗi vì sự thiếu hiểu biết của tôi, tôi thậm chí không chắc chắn về thuật ngữ chính xác cho điều này. Những gì tôi muốn làm là tìm kiếm theo thành phố và tiểu bang hoặc mã zip trong ứng dụng django của tôi và cũng bao gồm kết quả trong một khoảng cách nhất định của địa điểm (25, 50, 75 dặm).django, tìm kiếm dựa trên vị trí

Tôi đoán bạn có thể cần phải chuyển đổi thành phố và tiểu bang hoặc mã zip thành lat và dài rồi tìm kiếm dựa trên đó. Đây có phải là chính xác hoặc cách tốt nhất để thực hiện điều này trong một ứng dụng django là gì? Có ai biết thoát khỏi các ứng dụng đã làm điều này, vì vậy tôi có thể nhìn vào mã?

Cảm ơn sự giúp đỡ.

Trả lời

7

Bạn có thể sử dụng GeoDjango, đã bao gồm các tính năng này. Nếu không, bạn có thể làm chính xác như bạn đã nói: địa chỉ mã địa lý để nhận vĩ độ và kinh độ, sau đó chỉ cần thực hiện phép toán ;-)

+0

Bạn có thể cho tôi biết thêm về cách tôi làm điều này với GeoDjango không? Tôi đã nhìn vào nó, nhưng nó trông giống như nó được sử dụng để hiển thị các công cụ trên bản đồ. – Joe

+2

Sau khi thiết lập mô hình của bạn trong geodjango, chúng cung cấp "Truy vấn không gian" để chọn các đối tượng từ cơ sở dữ liệu theo các tiêu chí như khoảng cách hoặc khu vực địa lý. Đó có lẽ là quá mức cần thiết cho những gì bạn muốn, nhưng tôi sẽ cho bạn biết từ kinh nghiệm rằng địa lý mã hóa địa chỉ vào lat/long và sau đó làm toán để có được các đối tượng lân cận là không dễ dàng để có được quyền. –

+0

Điều đó có nghĩa là toàn bộ dự án là Dự án GeoDjango hay người ta chỉ có thể sử dụng tính năng Truy vấn Không gian bằng cách tạo một số mô hình liên quan? –

Các vấn đề liên quan