Tôi đã tạo một tính năng Drupal thực hiện điều này bằng cách sử dụng OpenLayers (Xem http://drupal.org/project/ol_locator ) hoặc bạn có thể sử dụng hướng dẫn sau để thiết lập riêng của mình.
Tải xuống và kích hoạt các Mô-đun sau:
Kích hoạt các mô-đun phụ:
- Bản đồ Geofield 7.x-1.0-alpha5
- Lượt xem UI 7.x-3.0-rc1
- Giao diện người dùng OpenLayers 7.x-2.0-alpha2
- Lượt xem OpenLayers 7.x-2.0-alpha2
Chuyển đến admin/structure/types/add
và tạo loại nội dung mới gọi là " Location
"
Đi đến admin/structure/types/manage/location/fields
và thêm các trường sau:
- Nhãn: Địa chỉ> Tên trường: địa chỉ> Loại trường: Địa chỉ bưu chính> Tiện ích: Mẫu địa chỉ động
Chọn quốc gia có sẵn mà bạn muốn từ danh sách. Để trống để cho phép tất cả chúng.
Kiểm tra "Mẫu địa chỉ (cụ thể theo quốc gia)"
- Lưu ý: Các quốc gia và các trường liên quan của chúng được xử lý bởi mô-đun Địa chỉ. Nếu bạn không thấy quốc gia của mình hoặc nếu quốc gia đó không có các trường thích hợp, bạn cần gửi vấn đề với mô-đun đó http://drupal.org/project/addressfield (Kiểm tra xem liệu có vấn đề nào trong hàng đợi về bạn không mất quốc gia đầu tiên trước khi đăng)
Nhãn: Geofield> Tên trường: geofield> Loại trường: Geofield> Widget: Geocode từ một trường khác
Chuyển đến admin/structure/types/manage/ol_locator_location/display
và thay đổi Default
hiển thị cho Geofield:
- Nhãn: Ẩn> Định dạng: OpenLayers
Nhấp vào biểu tượng bánh răng và chọn như sau:
- Cài đặt sẵn OpenLayers: Bản đồ định dạng Geofield> Tùy chọn dữ liệu: Sử dụng hình học đầy đủ
Đi đến admin/structure/openlayers/layers/settings
và thiết lập như sau:
- Phiên bản API của Google Maps: v3.2
Hãy thử kiểm tra xem Mã hóa địa lý có hoạt động không bằng cách tạo Vị trí thử nghiệm
- Khi tạo loại nội dung kiểm tra, hãy đảm bảo bạn đang sử dụng một địa chỉ được thiết lập tốt. Nếu Google không biết về địa chỉ của bạn thì trang web mới của bạn cũng không.
Chuyển đến admin/structure/views/add
và tạo chế độ xem mới với thông tin sau
- Tên xem: Tìm kiếm lân cận> Mô tả: Hiển thị các vị trí được mã hóa địa lý trên bản đồ động để người dùng thực hiện tìm kiếm gần. > Hiển thị: Nội dung của loại: Vị trí được sắp xếp theo: Chưa sắp xếp> Tiếp tục & chỉnh sửa
Thêm các trường sau và giữ các giá trị mặc định của chúng, trừ khi được ghi chú:
- Nội dung: Tiêu đề > Kiểm tra Tạo nhãn: "Tiêu đề"
- Nội dung: Địa chỉ (Địa chỉ)
- Nội dung: Geofield (Geofield)> Loại trừ khỏi màn hình
- Khoảng cách: Khoảng cách (Khoảng cách)
Thêm các tiêu chí lọc sau đây vào tiêu chí hiện có:
- Nội dung: Đã xuất bản (Có) và
- Nội dung: Loại (= Vị trí)
- Độ gần: Vòng tròn lớn (được hiển thị)> Hiển thị bộ lọc này cho khách truy cập, để cho phép họ thay đổi nó> Nhãn: Khoảng cách> thêm "10" vào trường Giá trị> Mở khóa đơn vị đo lường> Mở khóa vị trí
Tiêu đề > Toàn cầu: Vùng văn bản> Hiển thị ngay cả khi chế độ xem không có kết quả
- "Tìm một địa điểm gần bạn. Bạn có thể tìm kiếm bằng cách sử dụng thành phố, tỉnh / bang hoặc mã bưu chính / mã bưu điện."
Không có kết quả hành vi > Toàn cầu: Vùng văn bản và thêm vào như sau:
- "Xin lỗi, không tìm thấy kết quả nào.
1.) Xác minh tính chính xác của mã bưu chính / mã bưu điện của bạn
2.) Kiểm tra chính tả của thành phố, tỉnh hoặc tiểu bang của bạn
3.) Tăng khoảng cách gần"
Gửi nút văn bản : Tìm kiếm
Thêm màn hình mới: " Lớp phủ dữ liệu OpenLayers "
Định dạng :
- Cài đặt> Áp dụng công cụ mở này (ghi đè)> Nguồn dữ liệu bản đồ: WKT> Trường WKT: Geofield> Trường mô tả >> Áp dụng (hiển thị này)
Lưu lại quan điểm
Đi đến admin/structure/openlayers/maps
Sao chép bản đồ mặc định
Thông tin chung> Tên: location_map. Tiêu đề: Bản đồ vị trí> Bản đồ Mô tả: Đây là bản đồ vị trí mặc định.
Lớp & kiểu> Lớp lớp phủ (chọn chế độ xem chúng tôi vừa tạo) Vị trí "Đã bật" "Đã kích hoạt" Thực hiện tương tự cho Trình giữ chỗ cho Trình định dạng Geofield
Hành vi> Pop Up (phải quay lại và "Chọn lớp để áp dụng cửa sổ bật lên." Sau)> Thu phóng đến lớp "Chọn lớp để phóng to khi bản đồ được tải" > Mức thu phóng điểm: 20 ****
Lưu bản đồ
Quay trở lại với quan điểm chúng ta vừa tạo
admin/structure/views/view/proximity_search/edit
Thêm hiển thị "Trang"
- Con đường:
/locator
- Định dạng: Bản đồ OpenLayers> Áp dụng (hiển thị này)> Bản đồ: Bản đồ vị trí (Bản đồ chúng tôi vừa tạo trong OpenLayers)> Áp dụng
Lưu chế độ xem (Bây giờ chúng ta sẽ thấy bản đồ của mình trong khung xem trước ở cuối chế độ xem, với bất kỳ nội dung kiểm tra nào
Thêm hiển thị: "tệp đính kèm"
- Định dạng: Bảng> Áp dụng (màn hình này)
- Đính kèm: Trang
- Kế thừa các bộ lọc tiếp xúc: Có
- Xóa Tiêu đề> Toàn cầu: Vùng văn bản> Áp dụng (màn hình này)
- Các mục để hiển thị: Hiển thị một số mục được chỉ định | 5 món
- Kế thừa máy nhắn tin: Có
- Kết xuất máy nhắn tin: Có
Lưu xem
Hành vi> Cửa sổ bật lên> Lớp> lân cận_search_openlayers_1 (Chế độ xem bản đồ Openlayers chúng tôi vừa tạo)
Thu phóng đến Lớp> Thu phóng đến phạm vi của một lớp nhất định khi tải bản đồ. >proximity_search_openlayers_1
Quay trở lại admin/structure/types/manage/location/display
> nhấp vào biểu tượng bánh răng và thay đổi Mở Lớp đặt sẵn thành Bản đồ vị trí mà chúng ta vừa tạo> Cập nhật> Lưu