gwt-openlayers - отобразить маршрут - PullRequest
2 голосов
/ 08 марта 2012

Я использую gwt-openlayers.
Я все еще не нашел, как отобразить маршрут.

Можно ли отобразить маршрут с помощью gwt-openlayers?

Ответы [ 2 ]

4 голосов
/ 09 марта 2012

Мне удалось показать маршрут:

KML: в этом случае KML-координаты в виде строки 6.646280,49.753730,0.000000 6.646020,49.753230,0.000000 6.645650,49.752700,0.000000 ....

Vector routeLayer = new Vector("route");

List<Point> pointList = new ArrayList<Point>();
Projection defaultProj = new Projection(DEFAULT_PROJECTION); 
  // DEFAULT_PROJECTION = "EPSG:4326"
Projection mapProj = new Projection(mapWidget.getMap().getProjection());
for (String coord : KML.split(" "))
{
  String[] xyz = coord.split(",");
  if (xyz.length == 3)
  {
    Point point = new Point(Double.parseDouble(xyz[0]), Double.parseDouble(xyz[1]));
      // lon,lat 
    point.transform(defaultProj, mapProj);
    pointList.add(point);
  }
}
LineString geometry = new LineString(pointList.toArray(new Point[pointList.size()]));
Style style = new Style();
style.setStrokeColor("#0033ff");
style.setStrokeWidth(5);

routeLayer.addFeature(new VectorFeature(geometry, style));

mapWidget.getMap().addLayer(routeLayer);
2 голосов
/ 08 марта 2012

Зависит от вашего формата маршрутизации, но если у вас есть KML, используйте слой GML.

...