Um código postal não é uma posição, ele é rota de um portador postal. Nas cidades dos EUA orientais pode haver os códigos postais que são muito pequenos, alguns edifícios em Manhattan. Nos grandes estados do oeste, os códigos postais podem ser muitos, muitas milhas largas.
As côordenadas do mapa são dadas pelo “geocode” que é um par da latitude/longitude. Os dados são expressados sempre em uma corda de caráter com os dois assinados ou os números decimais não assinados separados por uma vírgula. A distância entre dois “geocodes” pode ser computada, enquanto o corvo voa, pelo uso da fórmula de Haversine.
http://en.wikipedia.org/wiki/Haversine_formulaQuando uma rota de grande círculo estiver a uma distância a mais exata do A-B, sua “exatidão” não pode ser exatamente o que você quer. Para distâncias curtas através de nossa terra, a geometria plana é suficientemente exata.
http://en.wikipedia.org/wiki/Cartesian_coordinate_systemO outro componente da exatidão do grande círculo vai à modalidade do transporte. É altamente útil para aviões e embarcações ocean-going. Mas se seus cursos do A-B são pelo automóvel e você precisa de cruzar um rio, por exemplo, a fórmula de Haversine espera-o ir em linha reta através do rio se há uma ponte ou não.
Em minha experiência com cálculos e Google Maps de Haversine, eu encontrei que você pode começ uma aproximação razoável da distância de condução correta multiplicando a distância de Haversine em 1.15 a 1.25. Por razoável, eu significo, “ninguém queixei-me” sobre a margem de erro. Para desengates curtos, as computações são menos exatas e o fator de fudge precisa de tender à parte alta. Para uns desengates mais longos as computações são mais exatas e o fator de fudge pode ser reduzido.
O “verdadeiro” conduzindo a distância é determinado avaliando uma série dos “minitrips” um para cada girar-ponto ao longo da rota. Google Maps pode fazer este. IIRC lá é uma chamada do API que retorne estes dados.
Google Maps recentemente liberado API tem algumas caraterísticas surpreendente robustas. Por exemplo, era necessário ao “geocode” um endereço antes de adicionar um pushpin ao mapa - agora você pode simplesmente dar o endereço ou o nome da posição (“a casa branca”) e Google Maps poderão frequentemente traduzir o nome e/ou o endereço no geolocation para você. Eu tenho um artigo aqui na EE que cobre algumas das caraterísticas novas.
http://www.experts-exchange.com/Web_Development/Web_Languages-Standards/PHP/A_3350-Using-the-Google-Maps-API-in-PHP.htmlA pequena notícia de código ensina a maneira de computar grandes distâncias de círculo.
Google e Yahoo Geocoders retornarão um geocode se você não lhe dá nada mas um código postal, porém a exatidão não é toda aquela grande. O Yahoo Geocoder é o mais fácil de usar-se.
http://developer.yahoo.com/maps/rest/V1/geocode.htmlEsperar que esta informação é útil a você. Afixar por favor para trás se você tem quaisquer perguntas. As melhores considerações, ~Ray