بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

مسیر یابی در Gooegle Maps

مدیریت گفتگو
یاسر  11 سال پیش
آخرین تغییر: 11 سال پیش

سلام

میخواستم در نسخه google maps API v2 مسیر یابی بین دو نقطه انجام بدم ولی بلد نبودم اگه کسی راه حلی داره لطفا به ما هم یاد بده.

پیشاپیش ممنون

نظرات

احسان منصوری 11 سال پیش
نمایش مسیر بین دو نقطه، به چند صورت انجام میشه. یخورده توی سوالات جستجو کنید به نتیجه می رسید. اگه به نتیجه نرسیدید بگید که کد بدیم خدمتتون
یاسر  11 سال پیش
ممنون دوست عزیز این مشکل رو حل کردم. فقط اگه کدی دارید که بتونه فاصله دو نقطه رو بر حسب متر یا کیلومتر حساب کنه ممنون میشم اگه بدید.
احسان منصوری 11 سال پیش
این که دیگه کاری نداره عزیز جان. این پایین کدش رو میذارم واست.

پاسخ‌ها 1

احسان منصوری 11 سال پیش

این تابع دوتا ورودی داره. اولی، مختصاتکاربر(همون Latitude و Longitude) و دومی مختصات مقصد. 

 public double CalculationByDistance(LatLng StartP, LatLng EndP) {
 double Radius=6378.1;//radius of earth in Km
    double lat1 = StartP.latitude;
    double lat2 = EndP.latitude;
    double lon1 = StartP.longitude;
    double lon2 = EndP.longitude;
    double dLat = Math.toRadians(lat2-lat1);
    double dLon = Math.toRadians(lon2-lon1);
  double a = Math.sin(dLat/2) * Math.sin(dLat/2) + Math.cos(Math.toRadians(lat1)) * Math.cos(Math.toRadians(lat2)) * Math.sin(dLon/2) * Math.sin(dLon/2);
double c = 2 * Math.asin(Math.sqrt(a));
    DecimalFormat newFormat = new DecimalFormat("####");
    double valueResult= Radius*c;
    double raw=valueResult*1000;
    double km=raw/1000;
    double meter=raw%1000;
    long kmInDec =  (int) km;
    int  meterInDec= Integer.valueOf(newFormat.format(meter));
    if(kmInDec == 0 ) {
        txtDistance.setText(meterInDec + " متر ");
    }else {
        txtDistance.setText(kmInDec + " کیلومتر " +" و "+ meterInDec + " متر ");
    }
    Log.i("Radius Value", "" + valueResult + "   KM  " + kmInDec + " Meter   " + meterInDec);
    return Radius * c;
}

نظرات

یاسر  11 سال پیش
تشکر دوست عزیز خیلی لطف کردی ممنون

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .