州/省的地理边界 - > Google Maps Polygon

时间:2009-11-28 23:49:09

标签: google-maps coordinates geography gis

我正在构建一个网络应用程序,它将根据按钮和点击事件在Google地图上动态突出显示某些美国州和加拿大省份。

计划A)多边形

我的主要想法是绘制多边形。为此我需要所有州和省轮廓的坐标列表(纬度+经度)(顺时针或逆时针)。在政府网站上,我发现了各种不同的格式(即E00),但我无法将这些格式转换为简单的坐标列表,我可以用它来在地图上创建标记或多边形。你有什么提示可以获得这些坐标吗?

计划B)叠加

AFAIK,如果您在Google地图上使用叠加层,当您进一步放大时它们会变得像素化(或者您可以叠加SVG吗?)在我的情况下,在最坏的情况下我需要50 + 11叠加(所有州和所有省份) )。谷歌地图仍然可以实现这一点,还是会变得非常慢?

我有点吃惊的是,没有一种直接的方式来突出显示州或省,因为我认为这对于使用地图API的人来说是一项非常常见的任务。

提前致谢

3 个答案:

答案 0 :(得分:75)

我已获得美国州多边形here的XML。我像this一样使用它们。

我刻意将细节保持在相当清晰的状态,以减少加载时间,并最终得到一张在慢速浏览器中合理响应的地图。

我对加拿大没有任何帮助。

答案 1 :(得分:3)

使用提供的XML,我创建了一个带有字典的JSON文件,其中包括50个州,华盛顿特区和加拿大各省的粗略轮廓,以解决SaltyNuts的评论以及Mike Williams关于加拿大没有任何内容的说明{ {3}}。

json是我用来为各省绘制多边形的人,用于需要不同细节级别或创建自己的坐标集的其他人。

答案 2 :(得分:0)

这是加拿大各省的信息。 我只复制了谷歌地图链接中的第一个GPS坐标。

/**
 * Searched for Alberta, Canada and copied the first thing after the @ sign
 * @see https://www.google.bg/maps/place/Yukon+Territory,+Canada/@64.5610006,-141.332713,5z/data=!3m1!4b1!4m5!3m4!1s0x51178198b4528b89:0x2e149cd561cc96ea!8m2!3d64.2823274!4d-135?hl=en
 * @var array
 */
$provinces_gps = array(
    "AB" => "54.1784838,-123.9541477",
    "BC" => "53.8348151,-135.5103986",
    "MB" => "54.1798816,-104.4465713",
    "NB" => "46.2679312,-68.6551949",
    "NL" => "53.1668149,-69.1783083",
    "NT" => "68.4817407,-136.7732486",
    "NS" => "45.2906308,-65.2759181",
    "NU" => "63.5954344,-124.1555502",
    "ON" => "48.9347914,-93.7155729",
    "PE" => "46.5031512,-63.7525627",
    "QC" => "53.4650568,-77.3895206",
    "SK" => "54.1797758,-114.6389862",
    "YT" => "64.5610006,-141.332713",
);