Как мне переписать функцию, использующую комбинированный параметр (широта и долгота), в функцию с отдельными параметрами, широтой и долготой? - PullRequest
0 голосов
/ 02 августа 2020

Я пытаюсь преобразовать эту функцию, которая использует параметр latlong, в функцию, которая использует широту и долготу как отдельные параметры. В этой функции есть часть, которую я не могу преобразовать при использовании широты и долготы в качестве отдельных параметров. (Функция, которую я хочу преобразовать, находится в javascript, и я хочу преобразовать ее в C#) Вот функция:

function inBoundedBox(latlong1, latlong2, latlong3)
  {
var betweenLats;
var betweenLons;

if(latlong1.Latitude < latlong2.Latitude)
    betweenLats = (latlong1.Latitude <= latlong3.Latitude && 
latlong2.Latitude >= latlong3.Latitude);
else
    betweenLats = (latlong1.Latitude >= latlong3.Latitude && 
 latlong2.Latitude <= latlong3.Latitude);
    
if(latlong1.Longitude < latlong2.Longitude)
    betweenLons = (latlong1.Longitude <= latlong3.Longitude && 
    latlong2.Longitude >= latlong3.Longitude);
else
    betweenLons = (latlong1.Longitude >= latlong3.Longitude && 
    latlong2.Longitude <= latlong3.Longitude);

return (betweenLats && betweenLons);

}

Вот часть преобразованная функция (в C#):

 public void checkIntersections(double latitude1, double longitude1, double latitude2, double 
  longitude2, double latitude3, double longitude3) 
    {
        double betweenLats;
        double betweenLongs;
        if (latitude1 < latitude2)
        {
            betweenLats = (latitude1 <= latitude3 && latitude2 >=latitude3);
    
        }
        else 
        { 

        }

    
    }

У меня проблемы с переменной междуLats. Ошибка, которую я получаю, говорит о том, что я не могу преобразовать тип bool в double. Как мне его преобразовать?

1 Ответ

1 голос
/ 02 августа 2020

Вам нужно написать такой код. betweenLats и betweenLons будут иметь тип bool.

public static bool inBoundedBox(double latitude1, double longitude1, double latitude2, double longitude2, double latitude3, double longitude3)
{
    bool betweenLats;
    bool betweenLons;

    if (latitude1 < latitude2)
        betweenLats = (latitude1 <= latitude3 &&
    latitude2 >= latitude3);
    else
        betweenLats = (latitude1 >= latitude3 &&
        latitude2 <= latitude3);

    if (longitude1 < longitude2)
        betweenLons = (longitude1 <= longitude3 &&
        longitude2 >= longitude3);
    else
        betweenLons = (longitude1 >= longitude3 &&
        longitude2 <= longitude3);

    return (betweenLats && betweenLons);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...