2012-11-01 30 views
-1

我有一个城市的数据库,里面有一个街道名称和一个数字(从1到5),代表人的平均密度。地图中的街道着色

我想在地图上表示这一点(无论Google地图或OSM或其他什么都不重要),其中我根据该密度将街道从绿色变为红色。

这个问题我不知道如何为街道上色,甚至在上面画一条折线。

任何想法?

TY!

回答

0

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

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

的逻辑通过您的街道坐标(经纬度的),其可用于在地图上绘制的线的阵列。此外,您可以轻松更改多段线的颜色。有关如何做到这一点的想法,你可以有一些组的颜色阵列喜欢 -

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

然后根据不同的密度值在创建折线

适当地将颜色从数组更新:要找到街道坐标,您可能需要的路线服务。

See directions service

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

你可以使用chrome console- network选项卡查看和存储接收到的坐标(你可以找到下载的带有坐标的js文件)。

+0

谢谢cdeez ......问题不在于折线,正如你所说,它们很容易......问题是要知道一条街道的坐标(整条街道) – FlamingMoe

+0

查看更新。希望对你有帮助。 – Cdeez

+1

嗯,事情是...我怎么把这个API当成一条街的起点和终点? ... 1大街,是一个开始(并不总是,但确定)......但最终?你不能设置9999大街,它会走到街道中间。 – FlamingMoe