|
<maps:SfMaps x:Name="sfmap" BackgroundColor="White">
<maps:SfMaps.Layers >
<maps:ShapeFileLayer x:Name="layer" Uri="world1.shp" Markers="{Binding Data}">
<maps:ShapeFileLayer.MarkerTemplate>
<DataTemplate>
<StackLayout Orientation="Horizontal">
<Label FontSize="28" TextColor="{Binding MarkerColor}" Text="{Binding MarkerText}"/>
<Image Source="{Binding MarkerSource}"/>
</StackLayout>
</DataTemplate>
</maps:ShapeFileLayer.MarkerTemplate>
</maps:ShapeFileLayer>
</maps:SfMaps.Layers>
</maps:SfMaps> |
|
public class ViewModel
{
public ObservableCollection<MapMarker> Data { get; set; }
public ViewModel()
{
Data = new ObservableCollection<MapMarker>()
{
new CustomMarker(Color.Red,ImageSource.FromResource("Maps_GettingStarted.pin.png"),"A"){Latitude = "38.8833",Longitude = "-77.0167" },
new CustomMarker(Color.Blue,ImageSource.FromResource("Maps_GettingStarted.pin.png"),"B"){Latitude = "-15.7833",Longitude = "-47.866"},
new CustomMarker(Color.Green,ImageSource.FromResource("Maps_GettingStarted.pin.png"),"C"){Latitude = "21.0000", Longitude = "78.0000"},
new CustomMarker(Color.Yellow,ImageSource.FromResource("Maps_GettingStarted.pin.png"),"D"){Latitude = "35.0000",Longitude = "103.0000"},
new CustomMarker(Color.Magenta,ImageSource.FromResource("Maps_GettingStarted.pin.png"),"E"){Latitude = "-6.1750",Longitude = "106.8283"},
};
}
} |
|
public class CustomMarker:MapMarker
{
public CustomMarker(Color color, ImageSource source, string text)
{
MarkerColor = color;
MarkerSource = source;
MarkerText = text;
}
public Color MarkerColor
{
get;
set;
}
public ImageSource MarkerSource
{
get;
set;
}
public string MarkerText
{
get;
set;
}
} |