如何知道位置是否在路线中



我必须制作一个具有推荐路线的应用程序到某个位置,但如果汽车移动 100 米(街道长度(,我不知道如何验证汽车是否在路线上

现在我只调用google-maps-direcctions-api,如果地图中的最后一个位置和实际位置有100米的差异

//THIS IS SOME CODE THAT I USE TO VERIFY IF THE CAR IS 100 METERS AWAY FROM THE LAST POINT
public void verificaMapa(){
double distancia_ultimo_dibujo = Utilidad.calcularDistancia(WebService.lat_actual,WebService.long_actual,ultimaLocalizacionDibujada.latitude,ultimaLocalizacionDibujada.longitude);
double distancia_destino = Utilidad.calcularDistancia(WebService.lat_actual,WebService.long_actual,cordenadasDestino.latitude,cordenadasDestino.longitude);
WebService.distancia_a_recorrer = distancia_destino;
if(AppPrendida){
if(distancia_ultimo_dibujo > 100 && distancia_destino > 100){
Location localizacion_actual = new Location("");
localizacion_actual.setLatitude(WebService.lat_actual);
localizacion_actual.setLongitude(WebService.long_actual);
DrawRoute(localizacion_actual);
}
}
if(distancia_destino <= 100 && !guardadollegaDestino){
WebService.distancia_a_recorrer = distancia_destino;
WebService.EstadoActual = 4;
guardadollegaDestino = true;
}
}

我最终找到了解决方案:

只是使用三角函数来做到这一点。公式为

  • 距离从实际到终点 + 距离从实际到起点 - 距离从开始点到终点

如果差值大于 15 个相遇者,则汽车就不在了范围内。

相关内容

  • 没有找到相关文章

最新更新