在地图Xamarin表单上点击按钮

时间:2018-11-01 15:54:19

标签: google-maps xaml button xamarin.forms

我正在使用Xamarin Forms编写我的应用程序。 我想在地图上方添加一个按钮(图片中的红色圆圈)以打开另一页:go to the image

这是我在xaml页面上编写的代码:

<ContentPage.ToolbarItems>
    <ToolbarItem Icon="search.png" Clicked="SearchClicked" />
</ContentPage.ToolbarItems>

 <ContentView Content="{Binding Map}" ></ContentView>

你能帮我吗?谢谢!

2 个答案:

答案 0 :(得分:0)

要在页面内容上放置一个按钮,我将查看一个AbsoluteLayout。您应该能够在XAML中执行以下操作。

<AbsoluteLayout>
  <ContentView Content="{Binding Map}" 
               AbsoluteLayout.LayoutBounds="0,0,1,1"
               AbsoluteLayout.LayoutFlags="All" 
               HorizontalOptions="FillAndExpand"
               VerticalOptions="FillAndExpand" />
  <Button AbsoluteLayout.LayoutBounds="0, 1, AutoSize, AutoSize"
          AbsoluteLayout.LayoutFlags="PositionProportional"
          HeightRequest="50"
          WidthRequest="50"
          CornerRadius="25" />
</AbsoluteLayout>

这未经测试,可能需要进行一些调整,但是应该可以帮助您。

答案 1 :(得分:0)

假设您正在使用Xamarin.Forms.Maps,则可以实现以下(或类似方法):

<Grid
    VerticalOptions="FillAndExpand">
    <map:Map
        IsShowingUser="True"
        HorizontalOptions="FillAndExpand"
        VerticalOptions="FillAndExpand"
        MapType="Hybrid"/>
    <AbsoluteLayout
        HorizontalOptions="FillAndExpand"
        VerticalOptions="FillAndExpand">
        <!-- Insert your circle control below. Using BoxView as example -->
        <BoxView
            AbsoluteLayout.AbsoluteBounds="0.1, 0.9, 20, 20"
            AbsoluteLayout.AbsoluteFlags="PositionProportional"
            BackgroundColor="Red">
            <BoxView.GestureRecognizer>
                <TapGestureRecognizer
                    Tapped="OnCircleTap"/> <!-- Replace with your event -->
            </BoxView.GestureRecognizer/>
        </BoxView>
    </AbsoluteLayout>
</Grid>