Google.maps.event.addlistener marker click function là gì năm 2024
Để sử dụng các dịch vụ của Google bạn cần tạo 1 tài khoản mới(project service) trên https://console.developers.google.com.
5 xác thực đối tượng truy cập
6 bằng cách sử dụng
7 trên danh nghĩa là 1 ứng dụng web thay vì là 1 người dùng. Tức là nó sử dụng chứng chỉ tài khoản dịch vụ của ứng dụng để chứng thực. Trước khi tạo
8 truy cập
9, cần phải có 1
0 bằng cách sử dụng các tài khoản dịch vụ đã được chứng nhận.
8 này là
2 với các params như
3 và
4 đã đăng nhập bằng key. Các loại tham số cấp đầu tiên là 1
5 (chỉ cần 1
0 mà không cần
7). Param thứ 2 là JWT chứa thông tin xác thực tài khoản trong chuỗi mã hóa được định dạng trước chứa tiêu đề, tập các yêu cầu(
8 chứa địa chỉ email của tài khoản dịch vụ, phạm vi, thời gian hết hạn... Chữ ký là thành phần có chữ ký của tiêu đề và
8 Sau khi tạo
8 tới máy chủ ủy quyền, chúng ta nhận được một
0 kéo dài ít nhất là 1 giờ. Sử dụng
0 này, chúng ta có thể truy cập vào
4 theo cách sau : sử dụng
5, cách thức như hình dưới đây : Tiến trình trên yêu cầu ứng dụng phải tạo và ký hiệu mã hóa JWT's, rất dễ để phạm sai lầm nghiêm trọng tác động rất lớn tới sự an toàn của ứng dụng. Thay vào đó tất cả có thể được thực hiện bởi việc sử dụng các thư viện client . Ruby chứa gem
6 cho việc lấy `access token, tạo ra các yêu cầu để truy cập vào API và phân tích kết quả. Dưới đây là đoạn mã để truy cập
7 sử dụng
8.
Nếu gặp phải lỗi
9 trong khi truy cập API thì hãy đảm bảo rằng thời gian hệ thống của bạn trong
0 (sử dụng NTP service) và sử dụng đúng cặp public/private key. II. Google Map API 1. Tổng quan 1.1. Google Map API là gì?
1.2. Một số ứng dụng của Google Map API
1.3. Tạo 1 Google Map đơn giản 1.3.1. Tạo 1 API Key
1.3.2. Lấy kinh độ, vĩ độ để hiển thị bản đồ Truy cập vào
7 và nhập địa điểm cần tìm. 1.3.3. Hiển thị bản đồ
2. Google Maps Overlays (Lớp phủ)
2.1. Add 1 marker add
5 vào map bằng cách sử dụng method
6 :
2.2. Hiệu ứng cho Marker
2.3. Icon thay thế cho Marker
2.4. Polyline Một Polyline là 1 đường được vẽ để nối 1 loạt các tọa độ(các điểm chỉ định trước (ví dụ : lộ trình của 1 chuyến đi, 1 khu vực địa lý... ) Các thuộc tính của 1 Polyline :
-> kết quả : 2.5. Polygon Polygon tương tự như polyline nhưng có thêm tính năng khoanh vùng (xác định 1 tập hợp các điểm tạo thành 1 khối kín) Thuộc tính tương tự như polyline nhưng có thêm 2 thuộc tính sau:
-> kết quả : 2.5. Circle Các thuộc tính :
-> kết quả : 2.6. InfoWindow show 1 InfoWindow là 1 đoạn text cho 1 marker:
-> kết quả : 2.7. Tổng hợp các nội dung trên
Link demo : http://www.w3schools.com/googleAPI/tryit.asp?filename=tryhtml_map_overlays_marker Trong đó :
3. Google Map Event Sự kiện gồm 2 loại:
3.1. UI Event
Ví dụ:
0 Demo: http://www.w3schools.com/googleAPI/tryit.asp?filename=tryhtml_map_marker_click
1 Demo: http://www.w3schools.com/googleAPI/tryit.asp?filename=tryhtml_map_marker_infowindow 2. MVC State Change
Ví dụ:
2 Demo : http://www.w3schools.com/googleAPI/tryit.asp?filename=tryhtml_map_marker_pan
3 -> kết quả : Demo : http://www.w3schools.com/googleAPI/tryit.asp?filename=tryhtml_map_marker_infowindow
4 Demo: https://google-developers.appspot.com/maps/documentation/javascript/examples/event-closure
5
** a. Sử dụng phương thức**
6 Giải thích :
7
28 của tài liệu HTML trong thẻ
8 4. Map Controls (Điều khiển) 4.1. The Default Controls (Control mặc định) Control mặc định thiết lập cho Google Map gồm:
4.2. Một số control khác
Bạn có thể chỉ định control nào được hiển thị khi tạo bản đồ (bên trong
42 để thay đổi các tùy chọn. 4.3. Vô hiệu hóa các control mặc định Thiết lập thuộc tính
43 (trong Map options object) thành true:
9 Demo : http://www.w3schools.com/googleAPI/tryit.asp?filename=tryhtml_map_controls_disable 4.4. Bật tất cả các control
0 Demo : http://www.w3schools.com/googleAPI/tryit.asp?filename=tryhtml_map_controls_add Kết quả : 4.5. Chỉnh sửa controls
2 Demo : http://www.w3schools.com/googleAPI/tryit.asp?filename=tryhtml_map_controls_modify1
3 Demo : http://www.w3schools.com/googleAPI/tryit.asp?filename=tryhtml_map_controls_modify2
4 Demo : http://www.w3schools.com/googleAPI/tryit.asp?filename=tryhtml_map_controls_modify3 4.6. Control tùy chỉnh-Custom Controls Dưới đây là ví dụ tạo một control tùy chỉnh mà luôn luôn đưa bạn trở lại London, khi click vào bản đồ(nếu bản đồ được kéo):
5 Demo : http://www.w3schools.com/googleAPI/tryit.asp?filename=tryhtml_map_controls_custom 5. Google Maps Types 5.1. Google Maps - Basic Map Types
6 Hoặc có thể gọi method
63 :
7 5.2. Google Maps - 45° Perspective View (view phối cảnh 45°) Bản đồ loại
59 và
60 hỗ trợ xem phối cảnh hình ảnh 45° cho 1 số vùng xác định (chỉ các vùng ở zoom level cao) Nếu zoom vào 1 vùng với view phối cảnh 45°, bản đồ sẽ tự động thay đổi phối cảnh, thêm nữa thêm vào 1 số thứ sau :
8 Kết quả :
9 Demo : http://www.w3schools.com/googleAPI/tryit.asp?filename=tryhtml_map_types_45 5.3. Google Maps - Disable 45° Perspective View - setTilt(0) (tắt chức năng view phối cảnh 45°) Tắt chức năng này bằng cách gọi
71 trong Map object :
0 Tip : để enable
72 ở đằng sau, gọi
73 6. Google Maps API Reference 6.1. Maps API Map() Constructor Tạo 1 Google Map :
1 6.2. Định nghĩa và sử dụng
74 tạo 1 bản đồ mới bên trong 1 thành phần HTML xác định (thường là ) 6.3. Cú pháp
2 6.4. Giá trị tham số Tham số Mô tả HTMLElement Xác định những thành phần HTML trong map MapOptions 1 đối tượng
41 chứa khởi tạo các biến/option 6.5. Các method của Map() Phương thức Giá trị trả về Mô tả fitBounds (LatLngBounds) None (không có) Tập hợp các khung nhìn với các giới hạn xác định getBounds() LatLng, LatLng Trả về kinh độ/vĩ độ của phía Tây Nam và phía Đông Bắc của khung nhìn hiện tại getCenter() LatLng Trả về kinh độ/vĩ độ (lat/lng) của trung tâm bản đồ getDiv() Node Trả về 1 đối tượng DOM chứa bản đồ getHeading() number (số) Trả về số nhóm
76 các hình ảnh trên không (cho loại SATELLITE (vệ tinh) và HYBRID) getMapTypeId() HYBRID ROADMAP SATELLITE TERRAIN Trả về kiểu của map getProjection() Projection Trả về Projection hiện tại getStreetView() StreetViewPanorama Trả về StreetViewPanorama mặc định gắn với map getTilt() number Trả về góc tới cho hình ảnh trên không (tính bằng độ) - dùng cho SATELLITE và HYBRID getZoom() number Trả về zoom level hiện tại của map panBy(xnumber,ynumber) none thay đổi trung tâm của map bằng khoảng cách nhất định (pixel) panTo(LatLng) none thay đổi trung tâm của map bằng LatLng panToBounds(LatLngBounds) none pan bản đồ bằng giá trị tối thiểu cần thiết để chứaLatLngBounds setCenter(LatLng) none setHeading(number) none thiết lập các nhóm
76 các hình ảnh trên không(đo bằng độ) từ hướng Bắc setMapTypeId(MapTypeId) none thay đổi loại bản đồ setOptions(MapOptions) none setStreetView(StreetViewPanorama) none kết nối
78 vào bản đồ setTilt(number) none thiết lập góc tới cho hình ảnh trên không (đo bằng độ) - dùng cho SATELLITE và HYBRID setZoom(number) none 6.6.Properties of Map() - Thuộc tính Thuộc tính Type Mô tả controls Array. 6.7.Events of Map() - Sự kiện của Map Event Đối số Mô tả bounds_changed None (không có) Kích hoạt khi giới hạn khung nhìn thay đổi center_changed none Kích hoạt khi thuộc tính trung tâm thay đổi click MouseEvent Kích hoạt khi người dùng click vào bản đồ dblclick MouseEvent Kích hoạt khi người dùng click đúp vào bản đồ drag none Kích hoạt liên tục trong khi người dùng kéo bản đồ dragend none kích hoạt khi người dùng ngừng kéo bản đồ dragstart none kích hoạt khi người dùng bắt đầu kéo bản đồ heading_changed none kích hoạt khi bản đồ thay đổi
79 idle none kích hoạt sau khi pan hoặc zoom bản đồ maptypeid_changed none kích hoạt khi
62 thay đổi mousemove MouseEvent kích hoạt khi chuột đi qua vùng bản đồ mouseout MouseEvent kích hoạt khi chuột ra khỏi vùng bản đồ mouseover MouseEvent kích hoạt khi chuột vào vùng bản đồ projection_changed none kích hoạt khi projection thay đổi resize none kích hoạt khi bản đồ (map) thay đổi kích cỡ rightclick MouseEvent kích hoạt khi click chuột phải vào bản đồ tilesloaded none kích hoạt khi tile hoàn thành việc load tilt_changed none kích hoạt khi
81 thay đổi zoom_changed none kích hoạt khi zoom thay đổi 6.8.Controls Constructor/Object Mô tả MapTypeControlOptions Tùy chọn cho việc sửa đổi 1 control (vị trí và style) MapTypeControlStyle Xác định loại bản đồ hiển thị (menu Drop-down hay các button) OverviewMapControlOptions Các tùy chọn cho việc render của
82 PanControlOptions Các tùy chọn cho việc render của
83 (vị trí) RotateControlOptions Các tùy chọn cho việc render của
84 (vị trí) ScaleControlOptions Các tùy chọn cho việc render của
85 (vị trí và style) ScaleControlStyle Xác định loại
85 để hiển thị StreetViewControlOptions Các tùy chọn cho việc render của
87 (vị trí) ZoomControlOptions Các tùy chọn cho việc render của
88 (vị trí và style) ZoomControlStyle Xác định loại
88 để hiển thị (rộng hay hẹp) ControlPosition Xác định vị trí các control trên map III. Lời kết Google API là 1 ứng dụng rất lớn và hay để học tập. Trong đó có Google Map API. Trên đây chỉ là 1 số nghiên cứu cơ bản về Google Map API. Nếu quan tâm bạn có thể tham khảo 1 số trang web sau : http://blog.joshsoftware.com/2014/09/08/tutorial-using-google-service-accounts-with-rails-application/ |