Làm cách nào để kích hoạt sự kiện onclick của điểm đánh dấu trên Google Maps V3?


128

Làm cách nào để kích hoạt sự kiện onclick của điểm đánh dấu trên Google Maps từ bên ngoài bản đồ?

Tôi sử dụng phiên bản 3 của API. Tôi đã thấy nhiều hướng dẫn cho phiên bản 2, nhưng không thể tìm thấy hướng dẫn này cho phiên bản 3.

Tôi có một mảng toàn cầu ( đánh dấu được đặt tên ) có chứa tất cả các điểm đánh dấu trên bản đồ (google.maps.Marker). Bây giờ tôi muốn làm một cái gì đó như:

markers[i].click(); //I know it's not working, but you get the idea...

//Next line seems to be the way in v2, but what's the equivalent in v3?
GEvent.trigger(markers[i], 'click');

Cảm ơn sự giúp đỡ của bạn và nếu bạn cần thêm thông tin, hãy cho tôi biết!

Câu trả lời:


331

Tôi đã tìm ra giải pháp! Cảm ơn Firebird;)

//"markers" is an array that I declared which contains all the marker of the map
//"i" is the index of the marker in the array that I want to trigger the OnClick event

//V2 version is:
GEvent.trigger(markers[i], 'click');

//V3 version is:
google.maps.event.trigger(markers[i], 'click');

Nhấp vào là bắn, nhưng trong trường hợp của tôi, cửa sổ thông tin của tôi không điều chỉnh theo bản đồ, nó sẽ giảm xuống một chút.
Saboor Awan

3
@Saboor Awan Hãy thử đặt một câu hỏi cụ thể về vấn đề này vì các bình luận không phải là cách tốt nhất để sắp xếp vấn đề này.
AlexV

Điều này vẫn đúng. Hãy nhớ rằng jQuery cũng có một trigger()chức năng. Trong trường hợp của tôi, intellisense đã bật lên khiến tôi phải thay đổi các đối số.
Pete

3
Làm điều này cho v3 cho tôi TypeError: a is undefined in main.js (line 16, col 894)lý do cho điều đó là gì?
mời

1
@invot Không thể thực sự giúp đỡ khi không nhìn thấy mã, nhưng tôi đã tìm thấy ai đó có cùng vấn đề trong khi thực hiện tìm kiếm nhanh ... Hãy thử đặt chiều rộng và chiều cao "popupMapIn" trong CSS bằng pixel (px) chứ không phải phần trăm (%) .
AlexV

9

Đối với nhân viên Google trong tương lai, Nếu bạn gặp lỗi tương tự bên dưới sau khi bạn kích hoạt nhấp vào cho đa giác

"Uncaught TypeError: Cannot read property 'vertex' of undefined"

sau đó thử mã dưới đây

google.maps.event.trigger(polygon, "click", {});
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.