Я хотел бы нарисовать фигуру (скажем, прямоугольник, для простоты), покрывая область цветом, которая изменяет оттенок, например. от зеленого до красного. Единственный подход - рисовать газиллион маленьких прямоугольников с цветами, смещающимися по индексу, или есть способ указать градиентный от-до (или даже лучше, от-до-до) цветной массив?Как нарисовать область на карте, окрашенную градиентом?
ответ
Я думаю, что вы можете использовать холст 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.
Если вы используете Google Map, вы можете попробовать Heatmaps с градиентами
Вот к чему я стремлюсь. Существует ли общее решение, не связанное с Google Maps? Я работаю с Here Maps. –
Я не считаю, что у нас есть общее решение. Но вы можете расширить решение Map, которое вы используете для поддержки слоев градиента с помощью решения @Sergey Yastrebov. – Thaadikkaaran
Если вы действительно после тепловой карты, как это было предложено в свой комментарий в @ jaganathan-bantheswaran ответ, то вы сможете сделать это в ЗДЕСЬ Карты, используя H.data.heatmap.Provider класс
в API Reference описывает, как это сделать:
// 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);
- 1. Как нарисовать область (круг/многоугольник) на карте в Android?
- 2. Как нарисовать многоугольник на карте Bing?
- 3. Как нарисовать геофорумы на карте?
- 4. Нарисовать штрих на карте Openlayers
- 5. Нарисовать область фона на бумаге
- 6. область рисования на карте Google
- 7. Как нарисовать круг вокруг точки на карте?
- 8. Как нарисовать линию пути на карте?
- 9. Как нарисовать точки Google placeid на карте
- 10. Как нарисовать линию маршрута на карте?
- 11. Как нарисовать несколько полигонов на карте?
- 12. Как нарисовать маршрут на карте в iphone
- 13. Как нарисовать оверлей на карте в android?
- 14. Нежелательная серая область на карте
- 15. Как ограничить область на карте OpenLayers?
- 16. Как нарисовать круг с альфа-градиентом на холсте?
- 17. Как пометить каждую область полигоном на карте Google?
- 18. Как разрешить пользователю выбирать область на Карте Google в Android?
- 19. Android: нарисовать дугу с градиентом от верхней
- 20. нарисовать полигон на карте с помощью пальца
- 21. нарисовать линию на карте ArcGIS для iOS
- 22. JQuery Библиотеки нарисовать маршрут на SVG-карте
- 23. Позвольте пользователю нарисовать круг на карте Google
- 24. OpenLayers не может нарисовать geoJSON на карте
- 25. Graphics2D, чтобы нарисовать линию на карте
- 26. Android, нарисовать маршрут на карте google
- 27. Не можете нарисовать круг, нажав на карте
- 28. Разместить картинку на HTML-карте область
- 29. Нарисуйте многоугольник на карте google и получите выделенную область
- 30. Как установить область для клика на Аннотации на карте iOS
у меня нет ни одного примера, еще потому, что я нахожусь на стадии проектирования, и пытается отработать сложные детали. Но если вы представляете себе, что у вас есть две точки (или более на самом деле) со значениями -5 и +23 с соответствующими цветами красного и зеленого, то я бы хотел нарисовать круги, интерполирующие значения между ними. Такое решение, которое я могу сделать, используя D3, но теперь я хочу ** как-то ** вставить его в карту отсюда. И вот где я застрял ... –
Вы можете изменить свою карту на Карты Google или использовать api для своей карты: Они поддерживают svg, поэтому вы можете сделать фигуру в svg с градиентом и использовать ее (https: // developer.here.com/api-explorer/maps-js/v3.0/markers/map-with-svg-graphic-markers). Вы также можете использовать маркер dom (https://developer.here.com/api-explorer/maps-js/v3.0/markers/map-with-dom-marker) с градиентом css (http: // www .colorzilla.com/gradient-editor /) Вы можете попробовать справиться с этим (https://developer.here.com/api-explorer/data-lens/data_lens/telco-heatmap3) –
Для вашей карты полигоны, нарисованные как здесь описаны параметры (https://developer.here.com/api-explorer/maps-js/v3.0/geoshapes/polygon-on-the-map) для них (https://developer.here.com /javascript-apis/documentation/v3/maps/topics_api_nlp/h-map-spatialstyle-options.html#h-map-spatialstyle-options__fillcolor). Кажется, что они поддерживают только цвета без градиентов, но в качестве опции вы можете попробовать наложить (https://developer.here.com/api-explorer/maps-js/v3.0/infoBubbles/custom-tile-overlay) , –