如何在地图上绘制渐变色的区域?

时间:2016-10-10 12:11:52

标签: javascript gis here-api

我想绘制一个形状(比如简单地说是一个矩形),覆盖一个颜色会改变阴影的区域。绿色到红色。是唯一的方法是绘制一个数字移动指数的大量小矩形,还是有办法说明渐变的从 - 到(或甚至更好,从到 - 到)颜色数组?

3 个答案:

答案 0 :(得分:2)

我认为你可以使用html画布创建渐变并用它填充你的形状(http://www.w3schools.com/tags/canvas_createlineargradient.asp)。

或者您可以使用svg渐变(https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Gradients)。

此外,您可以尝试使用带有一些插件的html地图区域。

为您的地图多边形绘制,如this。它们的参数描述为here。它们似乎只支持没有渐变的颜色,但作为选项,您可以尝试覆盖this

答案 1 :(得分:0)

如果您使用的是Google地图,则可以尝试使用渐变<{3}}

答案 2 :(得分:0)

如果您真的关注热图,正如您在@ jaganathan-bantheswaran回答中的评论中所建议的那样,那么您将可以使用H.data.heatmap.Provider

在HERE地图中执行此操作

API参考介绍了如何执行此操作:

// Create heat map provider
var heatmapProvider = new H.data.heatmap.Provider({
  colors: new H.data.heatmap.Colors({
  '0': 'blue',
  '0.5': 'yellow',
  '1': 'red'
  }, true),
  // paint assumed values in regions where no data is available
  assumeValues: true
});

// Add the data
heatmapProvider.addData([
  {lat: 52, lng: 1, value: 1},
  {lat: 53, lng: 2, value: 2}
]);

// Create semi transparent heat map layer
var heatmapLayer = new H.map.layer.TileLayer(heatmapProvider, {
  opacity: 0.6
});

// Add layer to the map
map.addLayer(heatmapLayer);