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 に答える