Cần một giải pháp Google Maps đơn giản; bị mất trong mê cung của các mô-đun


15

Trước hết, hãy để tôi nói rằng tôi không quan tâm phiên bản Drupal nào tôi phải sử dụng (6 hoặc 7). Tôi có kinh nghiệm với cả hai phiên bản mà tôi chưa cần làm việc với Google Maps cho đến bây giờ. Các yêu cầu khá cơ bản (từ những gì tôi hiểu):

1) Có một nút cho mọi công ty mà tôi muốn thêm vào bản đồ

2) Trong biểu mẫu chỉnh sửa nút, tôi muốn thêm địa chỉ và thêm địa chỉ đó vào bản đồ google tùy chỉnh (hoặc có thể sao chép-dán liên kết của vị trí google map)

3) Có chức năng tìm kiếm để tìm công ty gần nhất cho một vị trí nhất định

Có hàng tấn mô-đun khác nhau ngoài kia, và tôi muốn được chỉ đúng hướng thay vì xem qua hơn 15 mô-đun khác nhau để cuối cùng nhận ra rằng tôi cần phải viết một mô-đun tùy chỉnh cho chính mình.

Cảm ơn trước.

Câu trả lời:


36

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.

  1. Tải xuống và kích hoạt các Mô-đun sau:

  2. 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
  3. Chuyển đến admin/structure/types/addvà tạo loại nội dung mới gọi là " Location"

  4. Đi đến admin/structure/types/manage/location/fieldsvà 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
  5. 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.

  6. 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)
  7. Nhãn: Geofield> Tên trường: geofield> Loại trường: Geofield> Widget: Geocode từ một trường khác

  8. Chuyển đến admin/structure/types/manage/ol_locator_location/displayvà thay đổi Defaulthiển thị cho Geofield:

    • Nhãn: Ẩn> Định dạng: OpenLayers
  9. 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 đủ
  10. Đi đến admin/structure/openlayers/layers/settingsvà thiết lập như sau:

    • Phiên bản API của Google Maps: v3.2
  11. 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.
  12. Chuyển đến admin/structure/views/addvà 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
  13. 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ú:

    1. Nội dung: Tiêu đề > Kiểm tra Tạo nhãn: "Tiêu đề"
    2. Nội dung: Địa chỉ (Địa chỉ)
    3. Nội dung: Geofield (Geofield)> Loại trừ khỏi màn hình
    4. Khoảng cách: Khoảng cách (Khoảng cách)
  14. 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í
  15. 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."
  16. 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"
  17. Gửi nút văn bản : Tìm kiếm

  18. Thêm màn hình mới: " Lớp phủ dữ liệu OpenLayers "

  19. Đị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)
  20. Lưu lại quan điểm

  21. Đi đến admin/structure/openlayers/maps

  22. Sao chép bản đồ mặc định

  23. 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.

  24. 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

  25. 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 ****

  26. Lưu bản đồ

  27. Quay trở lại với quan điểm chúng ta vừa tạo

    • admin/structure/views/view/proximity_search/edit
  28. 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
  29. 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

  30. 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ó
  31. Lưu xem

  32. 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)

  33. 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

  34. 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

Voila! Làm xong


1
bạn trả lời chi tiết đến mức tôi muốn đặt tiền thưởng và tự động thưởng cho bạn: D Tôi sẽ thử các bước ngay bây giờ và cho bạn biết cách thức hoạt động
F1234k

Đó không chỉ là câu trả lời, đó là một hướng dẫn :)
Codium

+1, nhưng điều quan trọng cần lưu ý là ol_locatortính năng này có thể có lỗi với các phiên bản mô-đun mới hơn và không có giới hạn số phiên bản trong đó. Tôi đã trải nghiệm nó (không may). Nhưng câu trả lời của bạn là thực sự chi tiết độc đáo.
Sk8erPeter

Nếu mô-đun bị lỗi, vui lòng gửi nó trong hàng đợi vấn đề của mô-đun của tôi với chính xác những gì không hoạt động (chi tiết đầy đủ). Tôi không có vấn đề sửa chữa các vấn đề nhưng tôi cần biết về chúng. :)

Tôi vừa thử nghiệm OpenLayers Locator và nó hoạt động rất tốt và như quảng cáo. Cảm ơn @nicoz.
Nigel Waters

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.