Javascript中国家/地区的中心坐标

时间:2012-01-19 17:26:30

标签: javascript map openlayers

我想使用Javascript获取国家/地区的中心坐标。是否有任何xml文件提供此类数据,以便在Web应用程序中使用?我基本上是尝试使用OpenLayers中的国家/地区名称将数据放在地图上。

2 个答案:

答案 0 :(得分:3)

使用Google Maps API,您可以使用Geocoder类。

var geocoder = new google.maps.Geocoder();
geocoder.geocode(
    { address : "Germany" },
    function(results) {
        window.alert(results[0].geometry.bounds.getCenter());
    });

您可能想要检查results[]数组,而不仅仅是获取索引0,但这应该让您从正确的方向开始。

答案 1 :(得分:2)

您可能已下载合适的GIS数据集并生成自己想要的信息。例如:

使用像Quantum GIS这样的程序,您可以计算每个县的质心,并根据国家名称和x / y生成一个表格。

请注意,Koordinates还有一个矢量API,允许您按位置查询要素,并可选择拉出完整的几何图形:

OpenLayers 可以加载完整的几何图形并计算质心(例如OpenLayers getCentroid Docs),但考虑到世界边界数据集的大小和复杂性,性能不会很好。

将它们放在一起

您最好的选择可能就是:一旦您从各个国家/地区获得了质心,请使用Koordinates Vector API(无需获取几何图形)来确定所选点所在的国家/地区。从响应中,查找质心您的数据文件中的名称,并将地图置于此位置的中心。

相关问题