2012-12-12 11 views
6

की गणना करें मैं वर्तमान में एक फ़ंक्शन के अंदर अपनी WordPress वेबसाइटों में से एक पर दो बिंदुओं के बीच ड्राइविंग दूरी की गणना कर रहा हूं। मैं"क्रॉ मक्खियों के रूप में" दूरी php

wp_remote_get(
    "http://maps.googleapis.com/maps/api/distancematrix/json?origins=". 
    urlencode($origin). 
    "&destinations=". 
    urlencode($destination). 
    "&sensor=false&units=imperial" 
) 

बुला और फिर डालने मूल और स्थलों उन यूआरएल में एक फार्म के माध्यम से प्रवेश किया है द्वारा गूगल दूरी मैट्रिक्स का उपयोग कर यह पूरा। क्या "कौवा मक्खियों की दूरी" की गणना करने के लिए एक समान दृष्टिकोण का उपयोग करना संभव है या क्या मुझे अपने कार्य को फिर से काम करना है?

+1

है कि आप गूगल मैप्स के बिना कर सकते हैं। सूत्र के लिए खोजें जो आपको दुनिया के दो बिंदुओं के बीच भौतिक सबसे छोटी दूरी प्राप्त करता है। – MAXIM

+0

यह प्रश्न Google मानचित्र API V3 के बारे में नहीं है। (टैग हटा दिया गया) – Marcelo

उत्तर

7

2 अंक के बीच दूरी: (lat2, lon2)

distance = acos(
    cos(lat1 * (PI()/180)) * 
    cos(lon1 * (PI()/180)) * 
    cos(lat2 * (PI()/180)) * 
    cos(lon2 * (PI()/180)) 
    + 
    cos(lat1 * (PI()/180)) * 
    sin(lon1 * (PI()/180)) * 
    cos(lat2 * (PI()/180)) * 
    sin(lon2 * (PI()/180)) 
    + 
    sin(lat1 * (PI()/180)) * 
    sin(lat2 * (PI()/180)) 
    ) * 3959 

3959 को (lat1, lon1) मीलों में पृथ्वी त्रिज्या है। उसी इकाई पर परिणाम प्राप्त करने के लिए, इस मान को केएम, (या किसी अन्य इकाई) में त्रिज्या के साथ बदलें।

आप इस worked example करने की तुलना द्वारा अपने क्रियान्वयन को सत्यापित कर सकते हैं:

संबंधित मुद्दे