为google map api中的每个国家/地区指定不同的颜色

时间:2017-06-01 12:52:58

标签: json angular google-maps google-maps-api-3

有人知道如何在Google地图中为每个国家/地区指定不同的颜色吗? 我有数据存储每个国家/地区相同的彩色数据。 e.g:

在世界地图中

蓝色覆盖印度,然后RED Afganishtan ......等 如果需要通过使用多边形进行颜色,那么让我知道任何一个知道每个国家lat的边界长的例子。 感谢

1 个答案:

答案 0 :(得分:2)

您可以通过在地图上加载适当的GeoJSON轻松完成此操作(您可以找到更多信息here)。 例如,在下面,我通过here创建了世界上中等分辨率的GeoJSON并将其上传到我的服务器,然后通过以下脚本,我可以配置Google Map API以显示不同的国家/地区颜色。

                // Load GeoJSON.
            map.data.loadGeoJson('http://domain/geojson.json');

            map.data.setStyle(function(feature) {
                var color = 'green';
                if (feature.getProperty('wb_a2') === "AU") {
                    color = 'red';
                }
                if (feature.getProperty('wb_a2') === "IR") {
                    color = 'yellow';
                }
                return /** @type {google.maps.Data.StyleOptions} */({
                    fillColor: color,
                    strokeColor: color,
                    strokeWeight: 2
                });
            });

正如您所看到的,默认颜色为绿色,伊朗和澳大利亚都有不同的颜色。

enter image description here

注意:从here开始,您可以根据您的要求创建不同的GeoJSON文件,例如文件大小,覆盖区域和分辨率。