THIẾT KẾ PHẦN HIỂN THỊ BẢN ĐỒ

Một phần của tài liệu Nghiên cứu xây dựng bản đồ số hóa công nghiệp Việt Nam (Trang 41 - 44)

Bản đồ hiển thị là một phần của trang chủ và là một module cơ bản để tớch hợp vào cỏc phần khỏc như cập nhật và khai thỏc.

Để đạt được mục tiờu đú, phần hiển thị được thiết kế thành một module (đơn thể) độc lập.

5.1 ĐẦU VÀO VÀ ĐẦU RA

Cỏc thành phần tham gia vào module hiển thị: 1. Kớch thước cửa sổ hiển thị

2. Tọa độ tõm cửa sổ (kinh độ, vĩ độ) 3. Mức zoom (cỏc số nguyờn từ 1 đến 12) 4. Cỏc geometry tham gia vào cửa sổ

5. Cỏc đối tượng cú liờn kết với cỏc geometry trờn

Thành phần 4. và 5. được lấy ra một cỏch tự động từ cỏc thành phần 1., 2. và 3. Cỏc phộp toỏn tỏc động lờn module hiển thị:

1. Pan (di chuyển bản đồ theo hai chiều x và y)

2. Zoom (phúng to, thu nhỏ) phần hiển thị trong cửa sổ Cỏc đối tượng cần hiển thị

1. Cỏc geometry

2. Văn bản của cỏc đối tượng liờn kết 3. Multimedia của cỏc đối tượng liờn kết

Một cỏch trực quan, ta cú thể thấy mối liờn kết giữa cỏc phần trờn như trong hỡnh vẽ sau:

Hỡnh 15: Đầu vào và đầu ra của module hiển thị

5.2 TƯƠNG TÁC NGƯỜI DÙNG VÀ MODULE HIN TH

Theo phương thức Web truyền thống, cỏch hiển thị được thực hiện theo cỏc bước. 1. Bắt đầu phiờn điều khiển

2. Nhận cỏc tham số thành phần điều khiển (kớch thước, tọa độ, ...) 3. Module hiển thị nhận lệnh điều khiển (qua phớm/chuột)

4. Module hiển thị xõy dựng cỏc đối tượng hiển thi từ cơ sở dữ liệu trờn Server 5. Module hiển thị thực hiển việc hiển thị trờn Client

6. Kết thỳc phiờn điều khiển

Đặc điểm của phương thức trờn là cỏc phiờn đều ngắt quóng (nghĩa là màn hỡnh hiển thị sẽ được làm tươi sau mỗi phiờn).

Để khắc phục một phần tớnh ngắt quóng của phần hiển thị, ta sử dụng cơ chế Ajax khi hiển thị trờn bộ duyệt đối với phần cửa sổ.

Hỡnh 16: Cơ chế hiển thị bản đồ từ CSDL

Giao diện Cỏc thành phần tham gia

vào module hiển thị

Cỏc phộp toỏn tỏc động lờn module hiển thị Module hiển thị bản đồ Cỏc đối tượng cần hiển thị Trang chủ iframe: draw_map.php CSDL

Giải thớch cơ chế hiển thị.

Module khi động: tải mặc định dựa trờn cỏc thành phần đầu vào (xem hỡnh ). Lỳc này module

chưa bắt lệnh điều khiển (phộp toỏn) nờn phần giao tiếp người dựng chưa thực hiện. Module hiển thị gọi iframe là draw_map.php. Lỳc này iframe dựng ảnh – một ảnh duy nhất – lấy số liệu từ CSDL.

Khi module giao tiếp vi người dựng: chủ yếu cú 2 trường hợp xảy ra:

Phộp toỏn Zoom: bản chất của phộp toỏn này là thay zoom mới so với zoom hiện tạị Module hiển thị cho phộp thay đồng thời tõm của cửa sổ - nghĩa là dịch tõm cửa sổ đến một tọa độ (kinh độ, vĩ độ) mớị Qui trỡnh mà iframe thực hiện lỳc này là dựng một hàm Javascript để thực hiện zoom ngay (phúng to hoặc thu nhỏ cửa sổ hiện tại), chờ khoảng 2 giõy sau đú iframe dựng ảnh – cũng là ảnh duy nhất – lấy số liệu từ CSDL.

Phộp toỏn Pan (dịch chuyển bản đồ): bản chất của phộp toỏn này là thay tõm cửa sổ một cỏch động – trực tuyến. Qui trỡnh mà iframe thực hiện lỳc này là dựng một hàm Javascript bắt phớm ngày và di chuyển theo điều khiển của người dựng. Bước xử lý tiếp theo cú 2 tựy chọn:

Xử lý đơn giản (hiện nay đang theo phương ỏn này): đợi người dựng nhả phớm và iframe lỳc đú mới dựng ảnh. Phương thức này gõy trễ và màn hỡnh nhỏy ngắt quóng tại cửa sổ hiển thị. (adsbygoogle = window.adsbygoogle || []).push({});

Xử lý phức tạp (thực hiện trong phiờn bản beta): khi người dựng di chuyển bản đồ dừng trong khoảng thời gian 2 giõy, iframe tự động xỏc định cỏc phần cửa sổ bị khuyết và bắt đầu tải cỏc cửa sổ khuyết (2 cửa sổ). Khi người dựng di chuyển tiếp, cỏc cửa sổ đang tải dừng tải và thuật toỏn lặp lại với 2 cửa sổ khuyết mớị

Một phần của tài liệu Nghiên cứu xây dựng bản đồ số hóa công nghiệp Việt Nam (Trang 41 - 44)