所以即时使用JMapViewer,在这张地图上我有一些具有一定经度和纬度的地图标记
因此,要在此特定地图标记旁边插入文本字段,我需要将经度和纬度转换为带有X和Y的点,以将其提供给标签的setBound。
谢谢!
请注意,我需要这样做,以便如果我移动地图,文本随地图移动,所以当地图标记消失时,文字消失
答案 0 :(得分:1)
JMapViewer
有getMapPosition()
的多种变体,在给定大地坐标的情况下返回Point
。您可以在paintMarker()
调用paintComponent()
中查看该方法的用法。有关椭球和投影的详细信息,请参阅OsmMercator
。
答案 1 :(得分:0)
您需要将角坐标(lat,lon)转换为笛卡尔坐标(x,y)。看看GeoTools的GeodeticCalculator。特别是使用0度和90度的方位角来计算距笛卡尔地图原点的水平和垂直距离。