首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >单击Xamarin.Forms.Maps添加引脚

单击Xamarin.Forms.Maps添加引脚
EN

Stack Overflow用户
提问于 2019-03-10 23:01:00
回答 1查看 1.1K关注 0票数 0

我想在使用Xamarin.Forms.Maps点击地图时添加一个新的大头针。经过搜索,我发现我必须使用TKCustomMap插件。但它并没有显示在地图上..只是空白区域,这是我的代码

代码语言:javascript
复制
   double lit = 2.394;// double.Parse(Center.CenterLocationX);
   double longt = 43.2352;// double.Parse(Center.CenterLocationY);
   TK.CustomMap.Position position = new TK.CustomMap.Position(lit, longt);
   TK.CustomMap.MapSpan span = TK.CustomMap.MapSpan.FromCenterAndRadius(position, TK.CustomMap.Distance.FromMiles(0.5));

   TK.CustomMap.TKCustomMap map = new TK.CustomMap.TKCustomMap(span);
   map.IsShowingUser = true;
   map.MapType = TK.CustomMap.MapType.Street;
   TK.CustomMap.TKCustomMapPin pin = new TK.CustomMap.TKCustomMapPin()
   {
        //Address = "Test",
        //Label = "Test",
        Position = position,
        IsDraggable = true
        //Type = PinType.SearchResult
    };
    map.MapClicked += (x, y) =>
    {
        SharedTools.MakeToast("Clicked");
    };
    //map.Pins.Add(pin);
    map.Pins = new List<TK.CustomMap.TKCustomMapPin>() { pin };

    map.MoveToMapRegion(span);
    layout.Content = map;

我想解决这个问题,或者任何其他在点击时添加pin的想法

EN

回答 1

Stack Overflow用户

发布于 2019-03-11 14:46:21

我在我的演示中使用了你的代码,我得到了类似以下截图的结果(如果你看不到google的波段,你应该检查API_KEY,如果它是正确的)。

代码语言:javascript
复制
<meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="API_KEY" />

然后,我将lit更改为37,longt更改为-122,并在单击时添加引脚。我可以看到地图并获得以下结果。如果该值合法,请检查您的litlongt

这是我的代码。

代码语言:javascript
复制
public partial class MainPage : ContentPage
{
    TK.CustomMap.TKCustomMap map;
    TK.CustomMap.Position position;
    public MainPage()
    {
        InitializeComponent();
        //37,-122
        double lit = 37;// double.Parse(Center.CenterLocationX);
        double longt = -122;// double.Parse(Center.CenterLocationY);
        position = new TK.CustomMap.Position(lit, longt);
        TK.CustomMap.MapSpan span = TK.CustomMap.MapSpan.FromCenterAndRadius(position, TK.CustomMap.Distance.FromMiles(0.5));
        map = new TK.CustomMap.TKCustomMap(span);
        map.IsShowingUser = true;
        map.MapType = TK.CustomMap.MapType.Street;
        map.MapClicked += OnMapClicked;
        Content = map;
    }
    private void OnMapClicked(object sender, TKGenericEventArgs<Position> e)
    {
        TK.CustomMap.TKCustomMapPin pin = new TK.CustomMap.TKCustomMapPin()
        {
            //Address = "Test",
            //Label = "Test",
            Position = position
        ,
            IsDraggable = true
            //Type = PinType.SearchResult
        };
        
        map.Pins = new List<TK.CustomMap.TKCustomMapPin>() { pin };
        
    }
}   

这是我的demo.Hope,它可以帮助你。

https://github.com/851265601/TKGoogleMapsDemo

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55088993

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档