【问题标题】:How to display the map and mark a location in Xamarin forms如何在 Xamarin 表单中显示地图并标记位置
【发布时间】:2020-12-14 14:42:52
【问题描述】:

我想显示一张带有当前位置的地图,并在地图上的当前位置上画一个图钉。如果有多个位置,我也想画线。在 xamarin 表单上执行此操作的最佳选择是哪个?

【问题讨论】:

标签: xamarin.forms


【解决方案1】:

您可以使用Xamarin.forms.Maps 来实现这些要求。

显示当前位置的地图

显示地图:

按照Xamarin.Forms Map Initialization and Configuration的步骤,就可以显示地图控件了:

<ContentPage ...
             xmlns:maps="clr-namespace:Xamarin.Forms.Maps;assembly=Xamarin.Forms.Maps">
    <maps:Map x:Name="map" />
</ContentPage>

您也可以display a specific location on a map 显示您的当前位置。

在地图上的当前位置上画一个大头针。

绘制图钉:

Pin pin = new Pin
{
  Label = "Santa Cruz",
  Address = "The city with a boardwalk",
  Type = PinType.Place,
  Position = new Position(36.9628066, -122.0194722)
};
map.Pins.Add(pin);

如果有多个位置,画线

绘制折线:

Polygon polygon = new Polygon
{
    StrokeWidth = 8,
    StrokeColor = Color.FromHex("#1BA1E2"),
    FillColor = Color.FromHex("#881BA1E2"),
    Geopath =
    {
        new Position(47.6368678, -122.137305),
        new Position(47.6368894, -122.134655),
        new Position(47.6359424, -122.134655),
        new Position(47.6359496, -122.1325521),
        new Position(47.6424124, -122.1325199),
        new Position(47.642463,  -122.1338932),
        new Position(47.6406414, -122.1344833),
        new Position(47.6384943, -122.1361248),
        new Position(47.6372943, -122.1376912)
    }
};

// add the polygon to the map's MapElements collection
map.MapElements.Add(polygon);

获取当前位置:

你可以使用Xamarin.Essentials: Geolocation

更新

要布局地图:

<maps:Map x:Name="map" VerticalOptions="Start" HorizontalOptions="Start" BackgroundColor="Red" >
    
    <maps:Map.HeightRequest>
        <OnIdiom x:TypeArguments="x:Double" Phone="100" Tablet="150" Desktop="100"/>
    </maps:Map.HeightRequest>

</maps:Map>

【讨论】:

  • 我正在尝试使用以下代码为我的地图添加高度 ` 100.Phone> 150100 `但这段代码对我不起作用。
  • 同时添加 VerticalOptions="Start" Horizo​​ntalOptions="Start"。请参阅我的更新答案。
  • @Shreya 我的解决方案对您有用吗?如果是,请您接受(点击此答案左上角的☑️),以便我们可以帮助更多有相同问题的人:)。
  • 如何绑定列表视图中地图的坐标?我试过了,但它不适合我。 {绑定纬度}{绑定经度}0.010.01:地图>
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-04-23
  • 2018-04-04
  • 1970-01-01
  • 1970-01-01
  • 2020-07-22
  • 2017-04-29
  • 2019-10-26
相关资源
最近更新 更多