【发布时间】:2014-10-07 18:26:38
【问题描述】:
我已按照 AmCharts 上的教程创建自定义地图, 但使用了我们之前系统中的 SVG(英国系统就是一个例子,但我有大约 2000 个自定义 SVG 的定义区域/领土/地区集合)。
虽然地图显示没有问题,但它显示的是颠倒的。
有人可以在不需要重新创建所有 SVG 的情况下帮助翻转它们吗?
你可以在这里看到问题http://jsfiddle.net/aZt8N/830/
AmCharts.ready(function() {
map = new AmCharts.AmMap();
map.pathToImages = "http://www.ammap.com/lib/3/images/";
//map.panEventsEnabled = true; // this line enables pinch-zooming and dragging on touch devices
map.balloon.color = "#000000";
var dataProvider = {
mapVar: AmCharts.maps.UK,
getAreasFromMap: true
};
map.dataProvider = dataProvider;
map.write("mapdiv");
});
示例 SVG(JSON 格式):
{
"id": "19",
"title": "Isle of Man",
"d": "M-294128.0419983654 6005604.579318236 L-297849.15 6002052.63 L-302960.48 6004919.03 L-307536.97 6003878.02 L-308772.14 6004362.52 L-305875.18 6009275.65 L-304770.50193180586 6012664.048443736 L-302096.82 6020865.08 L-298362.66970319534 6023706.069639378 L-296413.32 6025189.16 L-291628.35136520385 6032625.148624786 L-288841.99 6036955.24 L-283264.74 6040009.53 L-281429.49 6039424.07 L-280324.93 6038202.8 L-280267.3142244041 6037728.901568649 L-278638.37 6024330.59 L-281236.71112765424 6021135.176051484 L-282416.08 6019684.8 L-283956.92 6015313.33 L-287114.60612506856 6012299.189836851 L-288129.6779798481 6011330.2623612285 Z"
}
【问题讨论】:
-
amMap 没有反转坐标的方法。我猜您的 SVG 数据实际上是反转的(是否可以看到原始 SVG?)。我还建议将所有数字除以 1000 并将它们四舍五入 - 这样做可以节省很多千字节。
-
@zeroin - 这就是我的猜测,如果你检查我在问题中链接的 jsfiddle 示例,你可以看到实际的
reversedSVG
标签: javascript svg transform amcharts ammap