العثور على أقصر الطرق باستخدام خرائط جوجل للحصول على عدد كبير من العقد

StackOverflow https://stackoverflow.com/questions/1218048

سؤال

أنا أحاول القيام ببعض تحليل الشبكة لعميل.المقدمة الطريق-شبكة نظم المعلومات الجغرافية طبقة من سيئة الجودة ؛ ولذلك يجب اللجوء إلى خرائط جوجل توفر لي أقصر طريق بين 200 نقطة, إنتاج الوقت والمسافة المصفوفات بين كل نقطة.

هل هناك طريقة يمكنني إدخال طبقة بوصفها مجموعة من KML النقاط للحصول على مخرجات المسافة والوقت بين هذه النقاط ؟

إذا كان هذا غير قابلة للتنفيذ عبر api, هل لديك أي تلميحات أو اقتراحات حول كيفية كتابة مثل هذا السيناريو ؟

تحرير مثالية النتيجة النهائية سيكون ملف CSV من الشكل التالي:

node_1, node_2, distance, travel_time
node_n, node_m, distance, travel_time
هل كانت مفيدة؟

المحلول

لن أكتب السيناريو كله لك, ولكن هذا يمكن أن يتم مع API خرائط.فتح الخرائط رمل وإضافة إلى onGDirectionsLoad وظيفة:

alert(gdir.getDistance().meters);

يمكنك العثور على وثائق هنا - أ getDuration() هو متاح أيضا.ثم كل ما عليك القيام به هو مسألة طلب جديد مرة واحدة الانتهاء من الحصول على الاتجاهات لكل زوج من بداية ونقطة نهاية.

ومع ملاحظة أنه إذا كنت تخطط على الحصول على 200*200 مسارات جوجل قد قررت أن معدل الحد الذي في بعض نقطة.تستخدم هذه الطريقة على مسؤوليتك الخاصة ، مع وجود تأخير بين الطلبات.

نلاحظ أيضا أن غوغل مدمج KML الدعم لا يبدو أن الدعم أعطيك قائمة من النقاط - وهذا منطقي لأن العميل قد يكون فقط تلك التي هي حاليا على الشاشة.قد تحتاج إلى كتابة الخاصة بك KML محمل إذا كنت ترغب في استخدام KML كما شكل الإدخال.أو استخدام أبسط شكل ، كما في هذا المثال.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top