如何在ModestMaps / Wax中获取位置点击事件

how to get a location click event in ModestMaps / Wax

本文关键字:位置 获取 事件 Wax ModestMaps      更新时间:2023-09-26

我从MapBox加载了漂亮的地图,但现在我需要从Wax/ModestMaps获取点击事件。 以下代码仅在页面加载时触发回调:

var mapbg, interaction;
var urlBase = 'http://a.tiles.mapbox.com/v3/mteran.house';
// Build baselayer background
wax.tilejson(urlBase + '.jsonp', function(tilejson) {
  map = new MM.Map('mymap-bg',
  new wax.mm.connector(tilejson));
  map.setCenterZoom(new MM.Location(
    tilejson.center[1], // latitude
    tilejson.center[0]), // longitude
    tilejson.center[2]); // zoom level
  map.addCallback("drawn", function (map) {
    mapbg.setCenterZoom(map.getCenter(), map.getZoom());
  });
  wax.mm.zoomer(map, tilejson).appendTo(map.parent);
  map.setZoomRange(tilejson.minzoom, tilejson.maxzoom);
  wax.mm.interaction()
    .map(map)
    .tilejson(tilejson);
  var house = new MM.Location(map.getCenter());
  house.on('click', alert(map.getCenter()));
});

您想获得哪种类型的点击事件?您使用的地图没有启用 TileMill 交互,所以我假设这不是目标。如果您尝试在地图上的任何位置获取点击事件并确定它是否在"房屋区域"上,那么请在此处扩展代码以实现此目的。

"足够接近"是必要的,因为点是地图所到的点;纬度/经度位置无限小,很难点击它们。