Я использую Mapbox для Xamarin.Forms NuGet для реализации MapBox на формах Xamarin.
Но я не могу нарисовать многоугольник на карте.
Код:
Naxam.Controls.Mapbox.Forms.PolylineAnnotation polyline = null;
if (polyline == null)
{
polyline = new Naxam.Controls.Mapbox.Forms.PolylineAnnotation
{
HexColor = “#ff1234”,
Width = 100
};
}
// Set coordinates
List<CompanyGeoFenceVM> cordinates = new List<CompanyGeoFenceVM>();
var savedCordinates = Preferences.Get(“cordinates”, “”);
if (!string.IsNullOrEmpty(savedCordinates))
{
cordinates = JsonConvert.DeserializeObject<List<CompanyGeoFenceVM>>(savedCordinates);
}
foreach (var cordinate in cordinates)
{
if (polyline.Coordinates == null)
{
polyline.Coordinates = new ObservableCollection<Naxam.Controls.Mapbox.Forms.Position>
{ new Naxam.Controls.Mapbox.Forms.Position(cordinate.Latitude, cordinate.Longitude) };
}
else
{
(polyline.Coordinates as ObservableCollection<Naxam.Controls.Mapbox.Forms.Position>)
.Add(new Naxam.Controls.Mapbox.Forms.Position(cordinate.Latitude, cordinate.Longitude));
}
}
List<Naxam.Controls.Mapbox.Forms.PolylineAnnotation> polylineAnnotations = new List<Naxam.Controls.Mapbox.Forms.PolylineAnnotation>();
polylineAnnotations.Add(polyline);
//show polygon
map.Polylines = polylineAnnotations;
map.ZoomLevel = Device.RuntimePlatform == Device.Android ? 8 : 10;
Xamarin.Forms.Maps.Position position = await NexgenGeocoder.ReverseGeocode(Preferences.Get(“address”, “”));
map.Center = new Naxam.Controls.Mapbox.Forms.Position(position.Latitude , position.Longitude);
Здесь я пытаюсь добавить многоугольник. кординат - переменная, в которой имеются данные, необходимые для обработки.пожалуйста, помогите мне в этом.Спасибо.