prepareCustom.js 875 B

12345678910111213141516171819202122232425262728293031323334
  1. var zrUtil = require("zrender/lib/core/util");
  2. function dataToCoordSize(dataSize, dataItem) {
  3. dataItem = dataItem || [0, 0];
  4. return zrUtil.map([0, 1], function (dimIdx) {
  5. var val = dataItem[dimIdx];
  6. var halfSize = dataSize[dimIdx] / 2;
  7. var p1 = [];
  8. var p2 = [];
  9. p1[dimIdx] = val - halfSize;
  10. p2[dimIdx] = val + halfSize;
  11. p1[1 - dimIdx] = p2[1 - dimIdx] = dataItem[1 - dimIdx];
  12. return Math.abs(this.dataToPoint(p1)[dimIdx] - this.dataToPoint(p2)[dimIdx]);
  13. }, this);
  14. }
  15. function _default(coordSys) {
  16. var rect = coordSys.getBoundingRect();
  17. return {
  18. coordSys: {
  19. type: 'geo',
  20. x: rect.x,
  21. y: rect.y,
  22. width: rect.width,
  23. height: rect.height
  24. },
  25. api: {
  26. coord: zrUtil.bind(coordSys.dataToPoint, coordSys),
  27. size: zrUtil.bind(dataToCoordSize, coordSys)
  28. }
  29. };
  30. }
  31. module.exports = _default;