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

时间:2012-08-15 12:09:07

标签: javascript jquery

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

});

1 个答案:

答案 0 :(得分:1)

您想要获得什么样的点击事件? The map you're using未启用TileMill interaction,因此我认为这不是目标。如果你想在地图上的任何地方举办点击活动,并弄清楚它是否位于“住宅区”,here's your code expanded to make that happen

'足够接近'将是必要的,因为就地图而言,点是点;纬度/经度位置非常小,很难点击它们。