Рисование пути со строкой в OpenLayers с помощью JavaScript

Я видел примеры, представленные здесь того, как чертить линию, но примеры только показывают, как сделать это с мышью путем нажатия.

То, что я хочу сделать, разграничивают вручную использование JavaScript, учитывая список координат Долготы и Широты.

Причина я не могу работать над источником, обеспеченным в ссылке выше, состоит в том, потому что они только звонят activate на функции, и затем позволяют пользователю навести и кликнуть на карте.

Кто-либо имеет, когда-нибудь тянул путь на карте OpenLayers программно?

То, что я хочу сделать, является точно этим: http://openspace.ordnancesurvey.co.uk/openspace/example4.html, но не используя OpenSpace.

31
задан Andreas Grech 29 April 2010 в 09:05
поделиться

2 ответа

Вам нужно будет использовать объект LineString

Вот пример:

var lineLayer = new OpenLayers.Layer.Vector("Line Layer"); 

map.addLayer(lineLayer);                    
map.addControl(new OpenLayers.Control.DrawFeature(lineLayer, OpenLayers.Handler.Path));                                     
var points = new Array(
   new OpenLayers.Geometry.Point(lon1, lat1),
   new OpenLayers.Geometry.Point(lon2, lat2)
);

var line = new OpenLayers.Geometry.LineString(points);

var style = { 
  strokeColor: '#0000ff', 
  strokeOpacity: 0.5,
  strokeWidth: 5
};

var lineFeature = new OpenLayers.Feature.Vector(line, null, style);
lineLayer.addFeatures([lineFeature]);

Предположим, что map - это ваш объект карты, а lon и lat - значения с плавающей запятой.

53
ответ дан 27 November 2019 в 22:18
поделиться

Я никогда раньше этого не делал, но знаю, что OpenSteetMap это делает. Например:

http://www.openstreetmap.org/?way=23649627

Не знаю, насколько сложно будет работать с их кодом.

0
ответ дан 27 November 2019 в 22:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: