gpt4 book ai didi

java - 如何在java中保存地理位置

转载 作者:太空宇宙 更新时间:2023-11-04 12:30:37 25 4
gpt4 key购买 nike

当用户单击 map 时,我从 map 中获取坐标。现在我想保存它并将坐标传递给另一个类。如果有人知道答案请指导。

谢谢

public class Corndinates extends MapClickListener{
/**
* Creates a mouse listener for the jxmapviewer which returns the
* GeoPosition of the the point where the mouse was clicked.
*
* @param viewer the jxmapviewer
*/
public Corndinates(JXMapViewer viewer) {
super(viewer);
}


@Override
public void mapClicked(GeoPosition location) {

GeoPosition cord = location;
System.out.println(cord);

}
}

我想将绳索传递给下面的类并将位置添加到此行

//初始化第一个和最后一个位置(程序通过鼠标点击获取坐标)

    GeoPosition firstPoint = new GeoPosition(50.834722, 12.921389);

但我不知道如何从绳索将值放入firstPoint对象中。

public class MapPanel {

public static void main(String args) {
System.out.println(args);

JFrame frame = new JFrame("FrameWork");
FrameWork frameWork = new FrameWork();
frame.setContentPane(frameWork.mainPanel);

// Create a TileFactoryInfo for OpenStreetMap
TileFactoryInfo info = new OSMTileFactoryInfo();
DefaultTileFactory tileFactory = new DefaultTileFactory(info);
frameWork.mapViewer.setTileFactory(tileFactory);

// Use 8 threads in parallel to load the tiles
//tileFactory.setThreadPoolSize(8);

//Initializing first and last position (program to get the coordinate from mouse click here)
GeoPosition firstPoint = new GeoPosition(50.834722, 12.921389);
GeoPosition lastPoint = new GeoPosition(50.839167, 12.9275);

// Create a track from the geo-positions
List<GeoPosition> track = Arrays.asList(firstPoint,lastPoint);
RoutePainter routePainter = new RoutePainter(track);

// Set the Default Location
GeoPosition chemnitz = new GeoPosition(50.833333, 12.916667);

//Set the focus
frameWork.mapViewer.setZoom(7);
frameWork.mapViewer.setAddressLocation(chemnitz);

// Add interactions
MouseInputListener mia = new PanMouseInputListener(frameWork.mapViewer);

frameWork.mapViewer.addMouseListener(mia);
frameWork.mapViewer.addMouseMotionListener(mia);

//frameWork.mapViewer.addMouseListener(new CenterMapListener(frameWork.mapViewer)); frameWork.mapViewer.addMouseWheelListener(new ZoomMouseWheelListenerCenter(frameWork.mapViewer));//frameWork.mapViewer.addKeyListener(new PanKeyListener(frameWork.mapViewer));

    // Create waypoints from the geo-positions
Set<SwingWaypoint> waypoints = new HashSet<SwingWaypoint>(Arrays.asList(
new SwingWaypoint("Zentrum", firstPoint),
new SwingWaypoint("TU", lastPoint)));

// Create a waypoint painter that takes all the waypoints
WaypointPainter<Waypoint> waypointPainter = new WaypointPainter<Waypoint>();
waypointPainter.setWaypoints(waypoints);

// Create a compound painter that uses both the route-painter and the waypoint-painter
List<org.jxmapviewer.painter.Painter<JXMapViewer>> painters = new ArrayList<org.jxmapviewer.painter.Painter<JXMapViewer>>();
painters.add(routePainter);
painters.add(waypointPainter);

CompoundPainter<JXMapViewer> painter = new CompoundPainter<JXMapViewer>(painters);
frameWork.mapViewer.setOverlayPainter(painter);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack();
frame.setVisible(true);


}

}

最佳答案

通过传递到另一个类,我认为您希望避免将信息保存到文件中。以下代码会将代码传递到您的新类中

@Override
public void mapClicked(GeoPosition location) {

GeoPosition cord = location;
System.out.println(cord);
NewClass c = new NewClass(cord);

}

public class NewClass {

GeoPosition location = null;

public NewClass(GeoPosition coord) { //constructor to hold location in class
location = coord;
}

public doCalc {
//etc
}
}

关于java - 如何在java中保存地理位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37884699/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com