0

MapBoxを書き直しgrid_control.jsて、複数のツールチップを同じボックスに同時に表示できるようにしようとしています。gridControl

は次のgridControlようにアクティブ化されます。

var gridLayer = L.mapbox.gridLayer('example-map.sdfagg22gd');
var tileLayer = L.mapbox.tileLayer('example-map.sdfagg22gd')
map.addLayer(tileLayer);
map.addLayer(gridLayer);
map.addControl(L.mapbox.gridControl(gridLayer));    

ただし、ソース コードを書き直す代わりに、GridControlクラスを拡張して、コードを将来のバージョンとの互換性を高めたいと考えていmapbox.jsます。

var GridControl = L.Control.extend({

options: {
    pinnable: true,
    follow: false,
    sanitizer: require('sanitize-caja'),
    touchTeaser: true,
    location: true
},

どうすればいいですか、それは賢明ですか?

また、同時に複数のツールチップを許可する方法についてのアイデアはありますか? アクティブなツールチップのカウンターが必要で、それに基づいてすべてのアクションをやり直す必要がありますか? 任意のポインタをいただければ幸いです。

私が理解していることから、ツールチップのコンテンツを含む2つの別々のボックスがオプションで表示されるため、ツールチップが同時に表示される可能性があり{follow : false}ます。しかし、これをマウス中心の移動ツールチップ ( によってアクティブ化される{follow: true}) にするにはどうすればよいでしょうか?

4

1 に答える 1

0

単に:

// get gridControl object and pass it for modification
var gridControl = L.mapbox.gridControl(gridLayer, {follow:true});

// modify the prototype
gridControl.__proto__._onPopupClose = function() {
   this._currentContent = null;
   this._lastContent = null;
   this._pinned = false;
};
于 2013-10-13T21:56:34.427 に答える