gwt-openlayers - отобразить маршрут
Я использую gwt-openlayers
,
Я до сих пор не нашел, как отобразить маршрут.
Можно ли отобразить маршрут с gwt-openlayers
?
2 ответа
Решение
Мне удалось показать маршрут:
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);
Зависит от вашего формата маршрутизации, но если у вас есть KML, используйте слой GML.