経度と緯度の変換を探していて、現在使用しているこのアルゴリズムを見つけましたが、これが正しいアルゴリズムであるかどうかはわかりません。また、ツールチップを使用してマップ画像に特定の座標をペイントするにはどうすればよいですか。JPanel 内で paintComponent メソッドをオーバーライドしようとしましたが、JTooltip を適切に使用できるようにタグ画像をラベルにする必要があります。以下は、私が現在使用しているアルゴリズムです。それが正しいかどうか、またメインの写真の上に別の写真を配置する方法を教えてください。JLabel を使用する場合と同様に、setBounds メソッドを使用して場所を設定しましたが、配置するポイントのリストが適切に機能しませんでした。
public Point getXY(二重経度、二重緯度) {
List<Integer> list = new ArrayList<Integer>();
double mapWidth = 2000;
double mapHeight = 1000;
// get x value
double x = (longitude + 180) * (mapWidth / 360);
int x1 = (int) Math.round(x);
list.add(x1);
// convert from degrees to radians
double latRad = latitude * Math.PI / 180;
// get y value
double mercN = Math.log(Math.tan((Math.PI / 4) + (latRad / 2)));
double y = (mapHeight / 2) - (mapWidth * mercN / (2 * Math.PI));
int y1 = (int) Math.round(y);
list.add(y1);
return new Point(x1, y1);
}