このリンクで @DanS から以下のコードを取得しましたhow-to-display-a-map-still-image-file-with-a-moving-current-location
onCurrentPosition(Location current){
double hypotenuse = upperLeft.distanceTo(current);
double bearing = upperLeft.bearingTo(current);
double currentDistanceX = Math.cos(bearing) * hypotenuse;
// "percentage to mark the position"
double currentPixelX = (currentDistanceX / upperLeft.distanceTo(lowerRight) * Math.cos(upperLeft.bearingTo(lowerRight))) * mapWidth;
moveIndicatorX(currentPixelX);
}
値は次のとおりです。
- 現在: 41.850033、-87.65005229999997
- 左上: 41.866514127810355、-87.6720142364502
- 右下: 41.83397145565242,-87.62824058532715
- マップの幅: 512 x 512 ピクセル
場所、斜辺(距離)、方位(方位)のオンライン計算機は次のとおりです。
私は次の結果を得ました:
- 斜辺 = 2581
- ベアリング = 135.21
- 現在の距離 X = -2562
- currentPixelX = 311.9
皆さんに次のことをお願いします。
- 計算結果が正しいかどうかを確認します。
- currentPixelY (もう 1 つのポイント) を計算する方法について教えてください。
ちなみに、これを使用して、静止画像の左上隅と右下隅を実際の LatLng に結合した静止画像マップに対して、特定の実際の LatLng(現在) の位置を計算することを計画しています。
実際の出力と期待される出力を確認し、全体像を簡単に理解したい場合。こちらのリンクをご参照ください →現在地を静止画地図にマークする方法