Как я могу поместить изображение в виде стрелки между двумя точками в JMapViewer

Как я могу поставить изображение, которое идет от точки p1 В точку p2? Кто-нибудь может подсказать мне путь?

Изменить: я следую этому примеру, рисовать линию между двумя точками гео в JMapViewer, чтобы нарисовать путь между двумя geoPoints, Но когда я пытаюсь удалить MapPolygonТо, что я создал первым, это не работа, и я не знаю почему. Ввод правильный, поверь мне!

List<Coordinate> route = new ArrayList<Coordinate>(Arrays.asList(one, two, two));
        List<MapPolygon> lista=cartina.getMapPolygonList();
        MapPolygon arrow=new MapPolygonImpl(route);
        cartina.removeMapPolygon(arrow);

Редактировать: я делаю это:

private Coordinate one;
private Coordinate two;
public ExampleClass(Coordinate one, Coordinate two) {
    this.one=one;
    this.two=two;
}

public method (){ //click button
    List<Coordinate> route = new ArrayList<Coordinate>(Arrays.asList(one, two, two));
    map.addMapPolygon(new MapPolygonImpl(route));
}

public methodB(){// click anothe button
 List<Coordinate> route = new ArrayList<Coordinate>(Arrays.asList(one, two, two));
    map.removeMapPolygon()(new MapPolygonImpl(route));
}

1 ответ

Решение

Как я могу поставить [стрелку], которая идет от точки p1 В точку p2?

Как показано в этом примере, вы можете добавить стрелку в форме MapPolygon на ваш JMapViewer с помощью addMapPolygon(),

После того как я удалю MapPolygon... и я создаю другую LinkedList... JMapViewer не удаляет MapPolygon, Ты знаешь почему?

Используйте дополнительный метод removeMapPolygon() удалить MapPolygon, но будьте уверены, что это ссылка на то же MapPolygon что вы добавили, а не ссылку на LinkedList вы могли бы использовать при создании стрелки. использование removeAllMapPolygons() полностью clear() внутренний список многоугольников средства просмотра карты.

Приложение: Вот конкретный пример, иллюстрирующий addMapPolygon() а также removeMapPolygon(),

List<Coordinate> route = new ArrayList<>(Arrays.asList(one, two, three));
final MapPolygonImpl mapPolygon = new MapPolygonImpl(route);
map.addMapPolygon(mapPolygon);
toolBar.add(new JButton(new AbstractAction("Remove") {

    @Override
    public void actionPerformed(ActionEvent e) {
        map.removeMapPolygon(mapPolygon);
    }
}));
Другие вопросы по тегам