0

我从 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()));

});
4

1 回答 1

1

你想获得什么样的点击事件?您使用的地图没有启用TileMill 交互,所以我假设这不是目标。如果您试图在地图上的任何地方获得点击事件并确定它是否在“房屋区域”上,那么您的代码已扩展以实现这一点

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

于 2012-08-15T13:04:43.247 回答