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

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

Изменить: я следую этому примеру, Draw Line между двумя геоточками в 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));
}

person doflamingo    schedule 23.10.2014    source источник
comment
Вы можете нарисовать многоугольник в форме стрелки для примера.   -  person trashgod    schedule 23.10.2014
comment
@trashgod спасибо за вашу ссылку, она работает правильно. Но у меня есть другой вопрос. ЕСЛИ я добавляю MapPolygon в список MapPolygon и после того, как я удаляю MapPolygon и использую алгоритм, который вы связали со мной, и я создаю другой LinkedList и т. д., JMapViewer не удаляет MapPolygon... знаете почему? Как я могу удалить MapPolygon после добавления в MapPolygonList   -  person doflamingo    schedule 24.10.2014
comment
Хороший вопрос; Я разработал ниже; пожалуйста, обновите свой вопрос, чтобы отразить вашу дополнительную озабоченность.   -  person trashgod    schedule 24.10.2014


Ответы (1)


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

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

После того, как я удалю MapPolygon… и создам еще один LinkedListJMapViewer не удалит 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);
    }
}));
person trashgod    schedule 24.10.2014
comment
Я думаю, что лучше опубликовать вопрос: stackoverflow.com/questions/26552250/ если вы посмотрите по этой ссылке, я использую removeMalPolygon(), но это не работает!! две точки, которые я использую, одинаковы, поверьте мне! - person doflamingo; 24.10.2014
comment
теперь я срываю!! если я использую этот способ: stackoverflow .com/questions/26552250/ это не работает, потому что это не та же ссылка?? - person doflamingo; 24.10.2014
comment
Я не уверен, что это ваш фрагмент; отредактируйте свой вопрос, включив в него полный пример. - person trashgod; 25.10.2014