這將計算從直線上的lat1,lon1到lat2,lon2的初始方位。
double lat1=48.0; // source latitude, example data
double lon1=17.0; // source longitude
double lat2=49.0; // destination latitude
double lon2=18.0; // destination longitude
double lat1Rad = lat1 * M_PI/180;
double lat2Rad = lat2 * M_PI/180;
double dLon = (lon2 - lon1) * M_PI/180;
double y = sin(dLon) * cos(lat2Rad);
double x = cos(lat1Rad) * sin(lat2Rad) - sin(lat1Rad) * cos(lat2Rad) * cos(dLon);
double bearingRad = atan2(y, x);
// this is the bearing from source to destination in degrees, normalized to 0..360
double bearing = fmod((bearingRad * 180/M_PI + 360),360);
要顯示2位置之間的路線方向嗎?如果是,那麼你可以調用默認地圖應用程序來做同樣的事情。您需要創建MapItems並傳遞給默認的地圖應用程序。 –
@ TechNet-Weblineindia感謝您的回覆。不是航線方向,我正在尋找顯示從當前位置指向任何位置的航向。 –
看看這個http://stackoverflow.com/a/18961856/771231 – Desdenova