在地图中的街道着色

时间:2012-11-01 21:47:14

标签: google-maps openstreetmap

我的城市数据库中有一条街道的名称和一个数字(从1到5)代表人们的平均密度。

我想在地图上表示这一点(无论是谷歌地图还是OSM或其他什么),我根据密度将街道从绿色变为红色。

问题我不知道如何为街道着色,甚至不知道如何在其上绘制折线。

有什么想法吗?

TY!

1 个答案:

答案 0 :(得分:0)

如果您使用的是Google地图APIv3,那么在地图上创建/绘制线条并不是一项艰巨的任务。 Gmaps3文档清楚地解释了使用它 -

https://developers.google.com/maps/documentation/javascript/overlays#Polylines

逻辑是将您的街道坐标(latlng)传递给可用于在地图上绘制线条的数组。此外,您可以轻松更改折线的颜色。有关如何实现此目的的想法,您可以使用一组颜色,如 -

            var linecolors = [];
            linecolors[0] = '#3333FF';
            linecolors[1] = '#8A0808';
            linecolors[2] = '#B45F04';
            linecolors[3] = '#B18904';

然后根据密度值在创建折线时适当地从阵列中获取颜色

更新:要查找街道坐标,您可能需要提供路线服务。

See directions service

您可以将地址或位置作为出发地和目的地传递给directionsService.route()并使用travelMode DRIVING。你得到了街道 - EXAMPLE

您可以使用chrome控制台 - 网络选项卡查看和存储收到的坐标(您将找到带有坐标的下载的js文件)。