-1

次の式を使用して、経度と緯度をx/y座標に正常に変換します。

// These should roughly box Germany - use the actual values appropriate to your image
double minLat = 54.8;
double minLong = 5.5;
double maxLat = 47.2;
double maxLong = 15.1;

// Map image size (in points)
CGSize mapSize = mapView.frame.size;

// Determine the map scale (points per degree)
double xScale = mapSize.width / (maxLong - minLong);
double yScale = mapSize.height / (maxLat - minLat);

// Latitude and longitude of city
double spotLat = 49.993615;
double spotLong = 8.242493;

// position of map image for point
CGFloat x = (spotLong - minLong) * xScale;
CGFloat y - (spotLat - minLat) * yScale;

しかし今、私はそれを別の方法で変換する必要があります。x=83およびy=294を取得したとしましょう。それから緯度と経度を取得するにはどうすればよいですか?

ありがとう

4

1 に答える 1

2

もしも...

x = (spotLong - minLong) * xScale;

それで...

(x / xScale) + minLong = spotLong;

方程式を確実に並べ替えるだけですか?

次に、緯度のyについても同じようにします。

于 2013-01-07T13:49:27.687 に答える