OpenLayers抢购道路

时间:2014-03-05 07:34:04

标签: javascript openlayers

我的地图上有一些标记,我正在尝试在标记之间绘制线条,但我希望它遵循道路,当我使用谷歌地图时,我按照这个例子......

http://people.missouristate.edu/chadkillingsworth/mapsexamples/snaptoroad.htm

得到了这个......

if (shiftPressed || path.getLength() === 0) {
          path.push(lineCoordinates[x]);
          if(path.getLength() === 1) {
            poly.setPath(path);
          }
        } else {
          service.route({ origin: path.getAt(path.getLength() - 1), destination: lineCoordinates[x], travelMode: google.maps.DirectionsTravelMode.DRIVING }, function(result, status) {
            if (status == google.maps.DirectionsStatus.OK) {
              for(var i = 0, len = result.routes[0].overview_path.length; i < len; i++) {
                path.push(result.routes[0].overview_path[i]);
              }
            }
          });
        }
      x++;

无论如何都要在OpenLayers中做同样的事情吗?

1 个答案:

答案 0 :(得分:0)

如果您使用要素(道路)作为VectorLayer中的对象(例如,您将其作为WFS),则可以将线条捕捉到道路上。 (根据表示道路的线/特征的距离,稍微移动绘制的要素/线的顶点)。但是在openLayers中这不是一个简单的操作,你可以“开启”......