Xamarin.Forms Umístění a vzdálenost mapy

Download Sample Stažení ukázky

Xamarin.Forms.Maps Obor názvů obsahuje Position strukturu, která se obvykle používá při umístění mapy a jeho špendlíků, a Distance strukturu, která se dá volitelně použít při umístění mapy.

Position

Struktura Position zapouzdřuje pozici uloženou jako hodnoty zeměpisné šířky a délky. Tato struktura definuje dvě vlastnosti jen pro čtení:

  • Latitude, typu double, který představuje zeměpisnou šířku pozice v desetinných stupních.
  • Longitude, typu double, který představuje délku pozice v desetinných stupních.

Position objekty se vytvářejí pomocí konstruktoru Position , který vyžaduje argumenty zeměpisné šířky a délky zadané jako double hodnoty:

Position position = new Position(36.9628066, -122.0194722);

Při vytváření objektu Position se hodnota zeměpisné šířky uchytne mezi -90,0 a 90,0 a hodnota délky se uchytne mezi -180,0 a 180,0.

Poznámka:

Třída GeographyUtils má rozšiřující metodu ToRadians , která převádí double hodnotu ze stupňů na radiány a rozšiřující metodu ToDegreesdouble , která převádí hodnotu z radiánů na stupně.

Vzdálenost

Struktura Distance zapouzdřuje vzdálenost uloženou double jako hodnotu, která představuje vzdálenost v metrech. Tato struktura definuje tři vlastnosti jen pro čtení:

  • Kilometers, typu double, který představuje vzdálenost v kilometrech, které jsou rozloženy Distance.
  • Meters, typu double, který představuje vzdálenost v metrech, které jsou rozloženy Distance.
  • Miles, typu double, který představuje vzdálenost v mílích, které jsou rozloženy Distance.

Distance objekty lze vytvořit pomocí konstruktoru Distance , který vyžaduje argument měřiče zadaný jako double:

Distance distance = new Distance(1450.5);

Alternativně Distance lze objekty vytvořit pomocí FromKilometersmetod , FromMeters, FromMilesa BetweenPositions factory:

Distance distance1 = Distance.FromKilometers(1.45); // argument represents the number of kilometers
Distance distance2 = Distance.FromMeters(1450.5);   // argument represents the number of meters
Distance distance3 = Distance.FromMiles(0.969);     // argument represents the number of miles
Distance distance4 = Distance.BetweenPositions(position1, position2);