Работя с приложение за android и трябва да разбера дали дадена точка на географска ширина и дължина се намира по маршрута от А до Б.
Използвам LatLngBounds за това. Работи, когато маршрутът е само от югозапад до североизток, но никога не работи за други маршрути (СИ до ЮЗ или ЮИ до СЗ или СЗ към ЮИ). Дава грешен резултат за NW към SW и грешка за SE към NW или NW към SE.
Опитах да използвам LtLngBounds.Builder() за другите три случая, т.е. СИ към ЮЗ или ЮИ към СЗ или СЗ към ЮИ. Но кодът не работи за тях. Следва кодът, който използвах.
LatLngBounds.Builder b_builder = new LatLngBounds.Builder();
b_builder.include(se_latlng); //start point
b_builder.include(nw_latlng); //end point
LatLngBounds b = b_builder.build(); //I am building the bound here
boolean present3 = b.contains(mid_latlng1); //Checking if this point lies along the route
boolean present4 = b.contains(mid_latlng2); //Checking if this point lies along the route
И в двата горни случая получавах вярно за b.contains (NE към SW или SE към NW или NW към SE). Но всъщност само една от тези точки се намира по маршрута. Опитах същото за останалите случаи, но винаги получавах истина, дори ако точката лъже или не лъже по маршрута.
LatLngBounds обаче работи за югозапад до североизток. Може ли някой любезно да ми помогне да разбера дали дадена точка се намира по маршрута от А до Б в другите посоки (СИ към ЮЗ или ЮИ към СЗ или СЗ към ЮИ).