Leaflet笔记(9)最简单的事件响应

本文目录
  • 正文

之前写了Leaflet中绘图添加Marker等方法,本文介绍在Leaflet中添加简单的事件响应方法。事件是地图交互的重要桥梁,通过事件可以使用户方便的查看控制地图的各种行为。下面以点击地图这个简单的示例,介绍使用Leaflet添加事件响应的方法。

Leaflet监听点击事件

var m = L.map('map-container').setView([36.52,120.31], 7);

var tileAddress = 'https://api.mapbox.com/styles/v1/yqcim/';
tileAddress += 'cizh1ma3400ez2so5x1anhuzo/tiles/256/{z}/{x}/{y}';
tileAddress += '?access_token=pk.eyJ1IjoieXFjaW0iLCJhIjoiY2l6ZmhnZjEx';
tileAddress += 'MDBhajJ4cGxnNGN5MnhpdCJ9.pcZtdfk8mSFboCdwqkvW6g';

var attribution = 'Map data &copy; <a href="http://openstreetmap.org">';
attribution += 'OpenStreetMap</a> contributors, '
attribution += '<a href="http://creativecommons.org/licenses/by-sa/2.0/">';
attribution += 'CC-BY-SA</a>, ';
attribution += 'Imagery © <a href="http://mapbox.com">Mapbox</a>';

L.tileLayer(tileAddress, {
  maxZoom: 18,
  attribution: attribution,
  id: 'mapbox.streets'
}).addTo(m);

// try event
m.on('click', function(e) {
  console.log(e);
  alert('纬度:' + e.latlng.lat + '\n经度:' + e.latlng.lng);
});

这里使用的是on方法对地图实例mclick事件做了监听。在点击的时候弹出当前点击位置的经纬度,其中经纬度数据是从点击的事件参数e中获取的。效果如图:

所有代码

leafletjs/note-8.html at master · sailor103/leafletjs

如您有疑问,可在文末留言,或到QQ群提问。
本站QQ群:291616564 麻辣GIS
微信公众号:malagis,扫描二维码直接关注。

打赏¥1

作者:,GIS爱好者。
分享本文,请您带上本文链接
分享到:

发表评论