Como você calcula a distância entre dois marcadores no Google Maps V3? (Semelhante à distanceFrom
função inV2.)
Obrigado..
javascript
google-maps-api-3
Waheed
fonte
fonte
Respostas:
Se você quiser calcular por conta própria, poderá usar a fórmula Haversine:
fonte
p1.lat()
ep1.lng()
assumem que seus dados de entrada sãogoogle.maps.LatLng
objetos. Se você tiver apenas dados brutos ,{lat: __, lon: __}
usep1.lat
, por exemplo.Na verdade, parece haver um método no GMap3. É um método estático do
google.maps.geometry.spherical
espaço para nome.Ele usa como argumento dois
LatLng
objetos e utilizará um raio de Terra padrão de 6378137 metros, embora o raio padrão possa ser substituído por um valor personalizado, se necessário.Certifique-se de incluir:
na sua seção de cabeça.
A chamada será:
fonte
Exemplo usando latitude / longitude de GPS de 2 pontos.
fonte
Basta adicionar isso ao início do seu código JavaScript:
e use a função assim:
fonte
fonte
script
tag e chamar esses métodos. Como reagir nativo.Aqui está a implementação c # deste fórum
fonte
Com o Google você pode fazer isso usando a api esférica ,
google.maps.geometry.spherical.computeDistanceBetween (latLngA, latLngB);
.No entanto, se a precisão de uma projeção esférica ou de uma solução haversine não for precisa o suficiente para você (por exemplo, se você estiver próximo ao poste ou computando distâncias maiores), use uma biblioteca diferente.
Encontrei mais informações sobre o assunto na Wikipedia aqui .
Um truque para verificar se a precisão de um algoritmo é adequada é preencher o raio máximo e mínimo da Terra e verificar se a diferença pode causar problemas para o seu caso de uso. Muitos mais detalhes podem ser encontrados em neste artigo
No final, a API do Google ou o haversine servirão à maioria dos propósitos sem problemas.
fonte
Usando PHP, você pode calcular a distância usando esta função simples:
fonte
K
, ela fornecerá a distância em km. Verifique-o.SOLUÇÃO OFFLINE - Algoritmo de Haversine
Referência: https://en.wikipedia.org/wiki/Great-circle_distance
fonte
Tinha que fazer isso ... O caminho do script de ação
fonte
No meu caso, era melhor calcular isso no SQL Server, pois eu queria pegar a localização atual e procurar todos os códigos postais a uma certa distância da localização atual. Eu também tinha um banco de dados que continha uma lista de códigos postais e seus lats longos. Felicidades
fonte
fonte
É muito fácil usar o serviço Google Distance Matrix
O primeiro passo é ativar o serviço Matriz de distâncias no console da API do Google. retorna distâncias entre um conjunto de locais. E aplique esta função simples
Onde origin1 é sua localização e destinoA é um local de destinação, você pode adicionar acima de dois ou mais dados.
Rad Documentação Completa com um exemplo
fonte
Encontrei uma versão online 80% correta, mas inserida no parâmetro errado e inconsistente no uso das entradas, esta versão corrigiu completamente
fonte
Para calcular a distância no Google Maps, você pode usar a API de rotas. Essa será uma das maneiras mais fáceis de fazer isso. Para obter dados do Google Server, você pode usar Retrofit ou Volley. Ambos têm sua própria vantagem. Dê uma olhada no código a seguir, onde usei o retrofit para implementá-lo:
Acima está o código da função build_retrofit_and_get_response para calcular a distância. Abaixo está a interface Retrofit correspondente:
}
Espero que isso explique sua consulta. Muito bem sucedida :)
Fonte: Calculadora de distâncias do Google Maps
fonte