地图事件
腾讯地图API具有事件接口,用户可以根据各自不同的需求添加不同的事件扩展。
目前腾讯地图提供的事件类型有两类:
- 用户事件(如“点击地图”鼠标事件)是从 DOM 传播到 腾讯 Maps API 中的。这些事件是独立的,并且与标准 DOM 事件不同。包括:单击事件(click)、双击事件(dblclick)、鼠标滑过事件(mouseover)、鼠标移动(mousemove)等;
- 腾讯地图API特有的事件,MVC 状态更改通知反映了腾讯Maps API 对象中的更改,并以 property_changed 惯例命名。如:缩放级别更改事件(zoom_changed)、内容更改事件(content_changed)等。
添加地图点击事件
如果您想对地图添加鼠标左键点击事件,只需要在代码中添加如下内容:
添加点击事件
var listener = qq.maps.event.addListener(
map,
'click',
function() {
alert('您点击了地图。');
}
);
使用qq.maps.event.addListener() 可以将事件绑定到某一个对象上,返回一个监听者对象。方法第一个参数为被绑定事件的对象,第二个参数为事件类型,第三个参数为事件的处理方法。
事件中获取参数
addListener() 在事件被触发时会将 DOM 事件对象传入事件的处理方法,并在事件对象中添加鼠标当前位置的地理坐标属性 LatLng。
获得位置:
qq.maps.event.addListener(
map,
'click',
function(event) {
alert('您点击的位置为:[' + event.latLng.getLng() +
',' + event.latLng.getLat() + ']');
}
);
移除事件
我们可以通过 removeListener() 方法移除已经添加的事件。
移除事件:
var listener = qq.maps.event.addListener(
map,
'click',
function() {
alert('您点击了地图。');
}
);
//移除 click 事件.
qq.maps.event.removeListener(listener);
值得注意:removeListener() 方法的第一个参数为 addListener() 方法返回的事件监听者对象。
这篇文章对您解决问题是否有帮助?
已解决
未解决