2015-12-22 4 views
0

Я следую коду, как рисовать полилинию вдоль пути карты, знать, что точка, присутствующая на карте, просто даст прямую линию, как пройти по пути полосыНарисуйте ломаную линию вдоль пути карты в openlayer3

<!DOCTYPE html> 
    <html> 
    <head> 
     <title>Rotation example</title> 
    </head> 
    <body> 
    <div style="width:80%; height:80%; position:fixed; border: 1px solid;" id="map"></div> 
    <script src="http://openlayers.org/en/v3.11.2/build/ol.js"></script> 
    <script> 

     var lineString = new ol.geom.LineString([ 
      [103.986083, 1.350349], 
      [103.985097, 1.349067] 
     ]); 
     lineString.transform('EPSG:4326', 'EPSG:3857'); 

     var lineLayer = new ol.layer.Vector({ 
      source: new ol.source.Vector({ 
       features: [new ol.Feature({ 
        geometry: lineString, 
        name: 'Line' 
       })] 
      }), 
      style: new ol.style.Style({ 
       stroke: new ol.style.Stroke({ 
        color: [255, 255, 0, 0.5], 
        width: 10 
       }) 
      }) 
     }); 

     var view = new ol.View({ 
      center: ol.proj.transform([103.986908, 1.353199], 'EPSG:4326','EPSG:3857'), 
      zoom: 18, 
      rotation: 68*Math.PI/180 
     }); 

     var map = new ol.Map({ 
      layers: [ 
       new ol.layer.Tile({ 
        source: new ol.source.OSM() 
       }), 
       lineLayer 
      ], 
      target: 'map', 
      controls: ol.control.defaults({ 
       attributionOptions: /** @type {olx.control.AttributionOptions} */ ({ 
        collapsible: false 
       }) 
      }), 
      view: view 
     }); 



    </script> 

    </body> 
    </html> 

есть ли сервис направления обеспечивается openlayer3 пожалуйста, указать на образец для выполнения его

ответ

0

Если у вас есть координаты вдоль полос, которые можно использовать MultiLineString вместо LineString.

+0

Можете ли вы указать какой-нибудь демонстрационный пример или образец кода, который поможет для этого – DhanaLaxshmi

+0

Я пытаюсь как это http://gis.stackexchange.com/questions/174876/how-to-draw-coordinates-along-the-lanes-using-multilinestring-instead-of-linestr, но полилинии не отображается, пожалуйста, скажите, пожалуйста, что не так – DhanaLaxshmi

0

Для такого действия вам необходимо использовать службу маршрутизации. Вы можете настроить свой собственный сервис или использовать любой доступный онлайн-доступ. here вы можете найти список бесплатных онлайн-маршрутизаторов и решить, какие из них лучше всего подходят для ваших нужд. После того, как вы получите свою полилинию корня из выбранной службы, вы можете затем декодировать (если закодировано) и нарисовать свою линию на карте ol3. Также, в зависимости от службы, которую вы собираетесь использовать, ol3 предлагает класс для чтения и записи данных в формате кодированного полилинейного алгоритма, который описан here

+0

укажите пример кода или демо – DhanaLaxshmi

+0

Я так стараюсь http://gis.stackexchange.com/questions/174876/how-to-draw-coordinates-along-the- lanes-using-multilinestring-вместо-linestr, но полилинии не отображаются, пожалуйста, скажите, что не так – DhanaLaxshmi

+0

У меня есть ответ d к вопросу, который вы предоставляете. возможно, это помогает вашему делу – pavlos