Hiện tại có 1 dự án cộng đồng cần nhúng phần bản đồ cho các thành viên. Quả thật những chức năng đụng tới địa chỉ mà có bản đồ thì rất là tuyệt. Thế là mình bắt đầu tìm giải pháp bản đồ cho website. Để làm được công việc nhúng bản đồ, cho phép tìm kiếm địa chỉ trong website của mình, các bạn cần phải tìm một Map API (Application Programming Interface) và tích hợp vào website của mình và dùng cơ chế do API đó cung cấp để truy vấn tìm kiếm địa chỉ.
Map API là gì?
Đó là một phương thức cho phép 1 website B sử dụng dịch vụ bản đồ của site A (gọi là Map API) và nhúng vào website của mình (site B). Một Map API tối thiểu phải cho phép tìm kiếm một địa điểm và đánh dấu trên bản đồ. Đồng thời, người dùng có thể sử dụng chuột để rê trên bản đồ (trực tiếp trên site B) để tìm kiếm vị trí mình muốn.
Dạo một vòng thị trường cung cấp Map API ở Việt Nam thì tìm thấy 4 nhà cung cấp đáng để xem xét tiếp, đó là: 1650km, diadiem, vietbando và google map. Mỗi công ty có mỗi cách thức cung cấp API khác nhau và style hiển thị bản đồ cũng khác nhau. Mình viết bài này nhằm giúp các Web Developer có cái nhìn sơ về thị trường Map API ở Việt Nam.
Xem hình dưới đây cũng tóm tắt được phần nào style, chi phí khi triển khai các Map API này.
Đầu tiên là 1650km (1650km.com), API của họ là miễn phí nên không cần lo ngại, chỉ theo các bước họ chỉ dẫn trong trang http://www.1650km.com/Api/MapApiRegister.aspx là có thể nhúng được bản đồ vào website. Còn về nó trông như thế nào thì coi cái hình ở trên. API của 1650km là hoàn toàn miễn phí, do đó chức năng hiện tại mình không thấy có gì ngoài việc nhúng cái bản đồ vô, nhưng hầu hết trường hợp, chức năng như vậy là cũng đủ với ứng dụng thông thường rồi. Đánh giá 3 sao.
Tiếp theo là nói đến vietbando(vietbando.vn), API của họ cũng miễn phí (http://vietbando.vn/api/userguide.aspx), nhưng cái chức năng quan trọng nhất là tìm vị trí của 1 địa chỉ lại…thu phí, và giá hàng tháng khoảng từ 1triệu-20triệu và tính dựa trên số request. Đối với dự án cộng đồng không có tài trợ như mình thì gánh chịu 1 số tiền như vậy là không nổi rồi, nên đành tìm giải pháp khác, ít ra là miễn phí cho tới thời điểm bây giờ. Tuy nhiên, API của vietbando cũng khá hoành tráng, có khá nhiều chức năng (class, phương thức) giúp việc thao tác trên bản đồ được phong phú hơn, cú pháp và cách hoạt động khá giống với Map API của google. Đánh giá 3 sao.
Tiếp nữa là diadiem(diadiem.com.vn), website này hình như đang manh nha triển khai mạng xã hội nữa thì phải, chắc hôm nào ghé qua “thử” xíu. Diadiem thi có lẽ nhiều người xài và cũng biết cái bản đồ nó rồi, khá bắt mắt nhưng cũng khá…rối. Mặc dù mình chưa có điều kiện tiếp xúc với Map API của nó (thằng này ác hơn, thu phí mới thấy được mặt mũi API) nhưng đoán là chi phí và API chắc hao hao như thằng vietbando thôi. Đánh giá 1 sao (đã làm API mà không open thì cũng lạy ^^!)
Cuối cùng là google map (maps.google.com), nói tới google thì API của nó sử dụng free là tất nhiên rồi, và bản đồ thì bản đồ thế giới. Còn về chức năng thì khỏi nói, tha hồ mà nghiên cứu và sử dụng, bản đồ thì cũng sáng sủa hơn mấy chú kia, tìm hiểu tại http://code.google.com/apis/maps/documentation/examples/index.html. Chức năng tìm kiếm và đánh dấu một địa chỉ trên bản đồ khá đơn giản. Vậy là mình chọn Map API của google cho ứng dụng của mình là đảm bảo về thời gian và chi phí nhất. Đánh giá 4 sao.
Tuy nhiên, cũng có 1 vấn đề mà hiện nay google chưa hỗ trợ cho bản đồ Việt Nam thì phải, đó là chức năng tìm đường giữa 2 địa điểm. Thử các địa điểm trên thế giới thì tìm đường xả láng, đến Việt Nam thì tịt, mặc dù tìm địa chỉ riêng rẻ vẫn xuất hiện trên bản đồ. Hy vọng 1 ngày đẹp trời nào đó sẽ sử dụng được vụ tìm đường đi giữa 2 địa điểm tại Việt Nam. Chức năng này Map API của vietbando đã có và diadiem chắc cũng có, tuy nhiên nếu muốn tìm ở Việt Nam và muốn “bị thu phí” thì hãy sử dụng các dịch vụ của họ.
Tóm lại, việc sử dụng API của ai là việc lựa chọn của bạn. Tùy vào nhu cầu về địa chỉ (Việt Nam hay là thế giới), ngân sách của dự án và khả năng ứng dụng của dự án mà bạn và công ty quyết định sử dụng Map API nào. Chúc bạn có 1 dự án tích hợp bản đồ tốt nhất cho mình.
Nếu muốn biết mặt mũi của Diadiem.com API, bạn có thể ghé qua trang này, http://www.atm.laisuat.vn/. Về cơ bản, thì API nó cũng gần như bản đồ mà bạn thấy trên trang Diadiem.com thôi.
Cảm ơn anh đã giới thiệu cái Demo của diadiem.vn
Thanks ban rat nhieu bai viet rat bo ich , minh cung dang tim hieu ve van de nay. Neu duoc thi ban co the viet them nhieu bai ve chu de nay hoac co tai lieu nao goi cho minh nha
chào các Bạn. nếu mình có 10 cái địa chỉ, bây giờ mình muốn đánh dấu 10 điểm đó trên bản đồ google, sau đó người dùng tìm kiếm vị trí nào thị bản đồ tự chạy đến địa điểm đó.
Mình chưa hiểu cách làm, bạn có thể hướng dẫn giúp mình không?
Cảm ơn bạn!
Cảm ơn bạn rất nhiều vì bài viết bổ ích. Hiện tại mình cũng mới tìm hiểu về vấn đề này, hi vọng có thể trao đổi với bạn nhiều hơn!
Rất vui được chia sẻ và kết bạn với bạn. Thân.
Mình đang làm website mà cũng đúng đến phần bản đồ. Nhưng yêu câu ở đây là có 1 cái combobox gồm có: nha trang, đà lạt, hồ chí minh…
Có cách nào khi chọn một địa điểm thì bản đồ tự động load đến địa điểm đó hok. Phía trên mình có các textbox khác nếu load lại toàn bộ trang thì dữ liệu sẽ bị mất.
Rất mong nhận dc sự trả lời của các bạn. Cảm ơn nhiều