Map Overlays

Một phần của tài liệu LUẬN VĂN:CROSS-DOMAIN AJAX CHO CÁC ỨNG DỤNG WEB MASHUP potx (Trang 39 - 43)

Overlay là một đối tượng trên bản đồ gắn với vĩ độ/tung độ khi họ di chuyển hoặc kéo, phóng to-thu nhỏ bản đồ. Overlays phản ánh các đối tượng bạn thêm vào bản đồ để thiết kế các điểm, các đường và các vùng.

Maps API có một số loại overlays:

• Điểm trên bản đồ được hiển thị sử dụng ‘markers’ – đối tượng của lớp GMarker, và thường hiển thị một biểu tượng tùy thích.

• Đường trên bản đồ được hiển thị sử dụng ‘polylines’ (tập các điểm) – đối tượng của lớp Gpolyline.

• Vùng trên bản đồ hiển thị như ‘polygons’ (vùng với hình dạng bất kì) hoặc ‘ground overlays’ (vùng là hình chữ nhật).

• Bản đồ sẽ được hiển thị sử dụng ‘tile overlay’. Bạn có thể sửa đổi nó bằng cách sử dụng GTileLayerOverlay hoặc tạo mới sử dụng GMapType.

Mỗi overlay thực hiện một giao diện Goverlay. Overlay được thêm vào bản đồ sử dụng Gmap2.addOverlay() và có thể xóa bỏ sử dụng GMap2.removeOverlay().

Bạn sẽ nhìn thấy:

map.addControl(new GSmallMapControl()); map.addControl(new GMapTypeControl());

Hình 26. map_api_overlay.html

- Markers

Markers xác định điểm trên bản đồ. Chúng ta sử dụng G_DEFAULT_ICON để xác định icon tùy ý, GMarker cần GLatLng và một đối tượng tùy chọn GMarkerOptions như các biến.

- Marker có th di chuyn

Ở ví dụ trên, chúng ta thực hiện cho marker có thể nhận được ‘click’ và có thể được kéo đến một ví trí mới. Những sự kiện có thể xảy ra trên marker: click, dragstart, drag, dragend. Và để những sự kiện này có tác dụng, chúng ta phải khởi động chúng.

- Icons

Một số lượng các image khác nhau có thể tạo nên một icon trong Maps API. Một Icons đơn giản nhất dựa trên kiểu G_DEFAULT_ICON. Bạn tạo một icon

GEvent.addListener(marker, "click", function() {

marker.openInfoWindowHtml("Marker <b>" + letter); }); GEvent.addListener(marker, "dragstart" , function() { map.closeInfoWindow(); });

GEvent.addListener(marker, "dragend", function() {

marker.openInfoWindowHtml("Bạn vừa di chuyển..." +

letter); });

- Polylines

GPolyline bao tạo các đường trên bản đồ. Một GPolyline bao gồm một chuỗi các điểm và tạo thành chuỗi các đoạn có thể liên kết điểm theo thứ tự,

Ta vẽ được đường trên bản đồ:

Hình 27. map_api_polyline.html 3.2.5. Google Maps API Services

- Geocoding

Geocoding là quá trình chuyển đổi địa chỉ vào một tọa độ địa lý. Google Maps API bao gồm Geocoding services mà có thể được truy cập trực tiếp qua HTTP Request hoặc bằng cách sử dụng một đối tượng GClientGeocoder.

- Geocoding Caches

Chúng ta sẽ có kết quả (khi bạn chọn ‘Tokyo, Japan’ trên dialog box):

KT LUN

Mashup đã thực sự tạo nên lớp ứng dụng mới hiệu quả và hữu ích trong môi trường ứng dụng web.

Luận văn đã giúp tôi hiểu được tổng quan cross-domain và các giải pháp cho cross-domain trong ajax. Đồng thời, bài luận cũng nêu được tính quan trọng và cần thiết trong việc tìm hướng giải quyết đối với cross-domain, phục vụ cho mashup – một lớp ứng dụng hữu ích trong thế giới web. Cùng với việc nghiên cứu, khóa luận đã áp dụng được lý thuyết vào để xây dựng lên một ứng dụng cho mashup với bản đồ trực tuyến tuy đơn giản nhưng đã hướng tới mục đích của đề tài.

Chưa có phương pháp thật sự hiệu quả để gọi cross-domain sử dụng ajax, vì vậy hướng phát triển tiếp theo cho việc nghiên cứu của luận văn sẽ mong muốn khám phá những phương pháp hiệu quả hơn cho cross-domain mang lại sự phát triển hiệu quả hơn cho các lớp ứng dụng web. Tiếp đó mong muốn phát triển thực nghiệm mashup đã xây dựng để tạo nên một website đặc trưng cho riêng mình.

TÀI LIU THAM KHO Tài liệu tiếng anh

[1] Collin Jackson và Helen J.Wang (2007) -

Subspace: Secure Cross-Domain Communication for Web Mashups. [2] Jesse Feiler - How to do Everything with Web Mashups 2.0. [3] Jon Howell, Collin Jackson, Helen J.Wang và Xiaofeng Fan -

MashupOS: Operating System Abstractions for Client Mashups.

[4] Head, Indigenous Studies Portal University of Saskatchewan Library (2007) - What’s a Mashup & Why Would I Want One?.

Website

[5] AJAX và vấn đề cross-domain -

http://www.javavietnam.org/javavn/mvnforum/viewthread_thread,15138

[6] API - http://www.programmableweb.com/apis

[7] Cross-domain-ajax - http://code.google.com/p/cross-domain-ajax/

[8] Cross Domain AJAX: A quick summary -

http://snook.ca/archives/javascript/cross_domain_aj/

[9] Cross-domain AJAX - http://www.nhchau.com/blog/2008/06/01/2366- cross-domain-ajax.htm

[10] Calling Cross Domain Web Services in AJAX - http://www.simple- talk.com/dotnet/asp.net/calling-cross-domain-web-services-in-ajax/

[11] Giải quyết vấn đề cross-domain của AJAX - http://cntt.tv/nodes/show/217

[12] Introduction to Cross-Domain Ajax -

http://jimbojw.com/wiki/index.php?title=Introduction_to_Cross-Domain_Ajax

[13] JSONRequest - http://www.json.org/JSONRequest.html

[14] Make Mashups Talk Across Domains(2006) –

http://www.devx.com/webdev/Article/30860 [15] Mashup cho ứng dụng nghiệp vụ -

http://www.viettotal.com/VietNews/CongngheWeb/tabid/88/CategoryID/1/News/57/De fault.aspx

[16] Shaping the future of secure Ajax mashups (2007) –

http://www.ibm.com/developerworks/library/x-securemashups/ [17] http://www.ebay.com/

[18] http://www.flickr.com/

[19] http://www.amazon.com/

Một phần của tài liệu LUẬN VĂN:CROSS-DOMAIN AJAX CHO CÁC ỨNG DỤNG WEB MASHUP potx (Trang 39 - 43)