如何将具有纬度和经度值的点转换为高图图中的坐标?

时间:2015-03-16 12:36:55

标签: highcharts highmaps

Highmap元数据有一个选项'hc-transform',有人可以解释如何使用它吗?

我在highmaps中使用了默认的中国地图地理数据,但现在我想添加一个新点,例如[lat,lon] [121,23],我想知道如何将其转换为坐标。 / p>

"crs": {
    "type": "name",
    "properties": {
        "name": "urn:ogc:def:crs:EPSG:3415"
    }
},     
"hc-transform": {
    "cn-all": {
        "xpan": 350,
        "ypan": 25,
        "hitZone": {
            "type": "Polygon",
            "coordinates": [
                [
                    [7902,3046],
                    [7929,3041],
                    [7947,3014],
                    [7915,2972]
                ]
            ]
        },
        "crs": "+proj=tmerc +lat_0=49 +lon_0=-2 +k=0.9996012717 +x_0=400000 +y_0=-100000 +ellps=airy +toWGS84=446.448,-125.157,542.06,0.15,0.247,0.842,-20.489 +units=m +vunits=m +no_defs",
        "scale": 0.000129831107685,
        "jsonres": 15.5,
        "jsonmarginX": -999,
        "jsonmarginY": 9851.0,
        "xoffset": -3139937.49309,
        "yoffset": 4358972.7486
    }
}

这就是我的工作。

var transform = Highcharts.maps['countries/cn/cn-all']['hc-transform']['default'];
var position = $(".chart").highcharts().transformFromLatLon({ lat: 121, lon: 23 }, transform);
console.log(position); // {x:NaN ,y:NaN}

'hc-transform'设置错了吗?我该怎么做呢。

1 个答案:

答案 0 :(得分:0)

' hc-transform'设置是对的。 请尝试切换lat和lon,如下所示: $(".chart").highcharts().transformFromLatLon({ lat: 121, lon: 23 }, transform); 然后x和y出来。