google-maps - 如何在xamarin表单谷歌地图中创建自定义信息窗口

标签 google-maps xamarin.forms xamarin.ios infowindow

我想在我的 ios map 中创建一个自定义信息窗口,我该如何实现这一点。我正在使用 xamarin forms google map 插件来创建 map 。

请帮助我

我想要一个像这样的自定义信息窗口

enter image description here

最佳答案

我通过使用 Xamarin 实现了这一目标。形式。谷歌地图插件,我正在为信息窗口设计实现一个自定义渲染器。

在 Xaml 中

  <maps:CustomMapiOS x:Name="customMap" MapType="Street" Grid.RowSpan="3" 
  IsShowingUser="True" >                 
   </maps:CustomMapiOS>

在可移植项目中创建自定义类

 public class CustomMapiOS : Map
  {
    public CustomMapiOS()
    {

    }
  }

在 iOS 项目中创建 CustomRendererMap

 public class CustomRendererMap : MapRenderer
{
    private MapView mapView;

    UIView customPinView;

    protected override void OnElementChanged(ElementChangedEventArgs<View> e)
    {
        base.OnElementChanged(e);

        if (e.OldElement != null)
        {
            CustomMapiOS formsMap = (CustomMapiOS)e.NewElement;
        }

        if (e.NewElement != null)
        {
            CustomMapiOS formsMap = (CustomMapiOS)e.NewElement;
            MapView nativeMap = Control as MapView;
            mapView = nativeMap;
            nativeMap.MarkerInfoWindow = new GMSInfoFor(markerInfoWindow);

        }
    }

    UIView markerInfoWindow(UIView view, Marker marker)
    {
        //infowindow design
    }
}

关于google-maps - 如何在xamarin表单谷歌地图中创建自定义信息窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52355065/

相关文章:

android - 如何在 Google Maps Android API v2 中显示具有不同图标的多个标记?

c# - 如何在 Xamarin.Forms 上使用 System.Data.SQLite Interop.dll?

xamarin.ios - Xamarin.UITest System.Xml.XmlException

c# - 系统.TypeLoadException : Could not resolve type with token 01000019

c# - 如何在 xamarin.forms 中读取图像源或图像名称?

xamarin.ios - 带有 MonoTouch 的 OpenFeint

c# - 在 Xamarin.iOS 中选择 nib 文件

带有 google map API 和 mySQL 的 Python Web 应用程序

java - Google Map Android API 可以加载的最大 KML 文件大小

Android: fragment 中的 GoogleMap v2 需要额外的权限