Я добиваюсь этого с помощью Xamarin. Формы. Плагин Google Maps, и я реализую пользовательский рендерер для дизайна информационного окна.
В 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
}
}