Вопрос : Google составляет карту API: как высчитать расстояние от положения к зип-код?

Я создаю widget карт google для вебсайт. Потребитель входит в зип-код и несколько положения около того зип-код прокладывать курс на потребности map.

I показать как значительно каждое положение от вписанного зип-код (много находятся в соседских зип-код).

I имеет длиннее/широту каждого положения но am конечно как высчитать расстояние к ЗАСТЕЖКА-МОЛНИИ. Все идеи?

I am принимая его будет требовать этого метода API но я не могу разработать синтаксис: rel= " nofollow "» _blank»» target= " http://code.google.com/apis/maps/documentation/javascript/v2/reference.html#GLatLng.distanceFrom href=
s/maps/documentation/javascript/v2/reference.html#GLatLng.distanceFrom
http://code.google.com/api class=

Ответ : Google составляет карту API: как высчитать расстояние от положения к зип-код?

Зип-код не будет положение, оно будет трасса почтовой несущей.  В городах восточного США может быть зип-код очень мало, немного зданий в Манхаттан.  В больших положениях запада, зип-код могут быть много, много миль широких.

Координаты карты даются «geocode» будет пара широты/долготы.  Данные всегда выражены в характерной черте при подписанное 2 или неподписанные десятичные номера отделенные запятым.  Расстояние между 2 «geocodes» можно вычислить, по мере того как ворона летает, при помощи формулы Haversine.
http://en.wikipedia.org/wiki/Haversine_formula

Пока трасса большого круга будет самым точным расстоянием A-B, своя «точность» не может быть точно вы хотите.  Для коротких расстояний через нашу землю, проекционная геометрия достаточно точна.
http://en.wikipedia.org/wiki/Cartesian_coordinate_system

Другой компонент точности большого круга идет к режиму перевозки.  Это будет весьмой полезным для самолетов и ocean-going сосудов.  Но если ваши перемещения A-B автомобилем и, то вам нужно пересечь реку, например, формула Haversine ожидает, что вы идете прямо через реку будет ли мост или не.

В моем опыте с вычислениями Haversine и картами Google, я находил что вы можете получить разумно приближение правильно управляя расстояния путем умножать расстояние Haversine к 1.15 к 1.25.  разумно, я намереваюсь, «никто пожаловался» о относительной величине погрешности.  Для коротких отключений, вычисления более менее точны и фактору fudge нужно клонить к верхнему сегменту.  Для более длинних отключений вычисления более точны и фактор fudge можно уменьшить.

«Поистине» управляющ расстоянием определено путем оценивать серию «minitrips» одного для каждого поворачивать-пункта вдоль трассы.  Карты Google могут сделать это.  IIRC там будет звоноком API возвратит эти данные.

Нов выпущенные карты API Google имеют некоторые изумительный робастные характеристики.   Например, было обязательно к «geocode» адрес перед добавлять pushpin к карте - теперь вы можете просто дать адрес или имя положения («Белого Дома») и карты Google часто будут перевести имя and/or адрес в geolocation для вас.  Я имею статью здесь на EE покрывает некоторые из новых характеристик.
http://www.experts-exchange.com/Web_Development/Web_Languages-Standards/PHP/A_3350-Using-the-Google-Maps-API-in-PHP.html

Фрагмент Кодего учит дороге вычислить большие расстояния круга.

Google и Yahoo Geocoders возвратят geocode если вы не даете им ничего а зип-код, то тем ме менее точность не совсем то большое.  Yahoo Geocoder самыми легкими для использования.
http://developer.yahoo.com/maps/rest/V1/geocode.html

Понадейтесь что этот info полезн к вам.  Пожалуйста вывесьте назад если вы имеете любые вопросы.  Самые лучшие отношения, ~Ray
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
\n";

// COMPUTE THE DISTANCE BETWEEN TWO LAT/LON PAIRS

// MAN PAGE: http://en.wikipedia.org/wiki/Haversine_formula
function compute_distance($from_lat, $from_lon, $to_lat, $to_lon, $units='KM')
{
    $units = strtoupper(substr(trim($units),0,1));
    // ENSURE THAT ALL ARE FLOATING POINT VALUES
    $from_lat = floatval($from_lat);
    $from_lon = floatval($from_lon);
    $to_lat   = floatval($to_lat);
    $to_lon   = floatval($to_lon);

    // IF THE SAME POINT
    if ( ($from_lat == $to_lat) && ($from_lon == $to_lon) )
    {
        return 0.0;
    }

    // COMPUTE THE DISTANCE WITH THE HAVERSINE FORMULA
    $distance 
    = acos
    ( sin(deg2rad($from_lat))
    * sin(deg2rad($to_lat))
    + cos(deg2rad($from_lat))
    * cos(deg2rad($to_lat))
    * cos(deg2rad($from_lon - $to_lon)) 
    )
    ;

    $distance = rad2deg($distance);

    // DISTANCE IN MILES AND KM - ADD OTHERS IF NEEDED
    $miles = (float) $distance * 69.0;
    $km    = (float) $miles * 1.61;

    // RETURN MILES
    if ($units == 'M') return round($miles,1);

    // RETURN KILOMETERS = MILES * 1.61
    if ($units == 'K') return round($km,2);
}

if (!empty($_GET))
{
    $distance = compute_distance($_GET["a_lat"], $_GET["a_lon"], $_GET["b_lat"], $_GET["b_lon"], $_GET["units"]);
    echo $distance . ' ' . $_GET["units"];
}
?>


Чамп Давид
Белый Дом
ИСПЫТАЙТЕ ЕГО ЗДЕСЬ:

УКАЖИТЕ LAT   LON  
УКАЖИТЕ LAT B   LON  
Мили
Километры


Другие решения  
  •  Как я добавляю кнопки на форме PDF для того чтобы добавить/извлекаю рядки данных?
  •  Шнур ошибки в блоке задвижки?
  •  сколько вариант сервера SQL на одной машине
  •  Внешний вид 2007 не может архивный файл открытой сети сохраненный
  •  Активно директория DNS записывает вопрос
  •  Отчет о доступа 2010 экспорта к CSV с коллекторами?
  •  Прокладчик OCE 9400 не начинает
  •  как добавить десятичное место в формуле в отчете о кристалла seagate
  •  Windows XP и Мичрософт Оутлоок и проблемы установителя Windows
  •  VB6 к VS2010 - консультации тренировки?
  •  
    programming4us programming4us