Xamarin.Forms.GoogleMaps

by amay077

Map library for Xamarin.Forms using Google maps API

453 Stars 261 Forks Last release: 11 months ago (v3.3.0) MIT License 1.2K Commits 85 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

Xamarin.Forms.GoogleMaps

Build status Gitter chat donate/gumload

日本語の README はこちら!

Yet another maps library for Xamarin.Forms that optimized for Google maps.

Usage is almost the same as Xamarin.Forms.Maps, Because this is forked from Xamarin.Forms.Maps - github

DEMO Apps

You can try DEMO Apps for Android/iOS that includes all this library features. DEMO Apps source code is here.

screenshot

Motivation

The official Xamarin.Forms.Map has minumn functions only.

Especially, Bing Maps SDK is very old-fashioned because it has not vector-tile, marker's infowindow.

Android and iOS monopolize most the mobile apps market. Thus I think no need Bing maps support.

Furthermore, I am using Google Maps instead of MapKit because it is easy for define common API for Android and iOS.

Xamarin.Forms.GoogleMaps provides maximum Google maps features for Xamarin.Forms!!

Comparison with Xamarin.Forms.Maps

|Feature|X.F.Maps|X.F.GoogleMaps| | ------------------- | :-----------: | :-----------: | |Map types|Yes|Yes| |Traffic map|-|Yes| |Map events|-|Yes| |Panning with animation|Yes|Yes| |Panning directly|-|Yes| |Pins|Yes|Yes| |Custom Pins|-|Yes| |Pin drag & drop|-|Yes| |Polygons|-|Yes| |Lines|-|Yes| |Circles|-|Yes| |Custom map tiles|-|Yes|

For more information, see Comparison with Xamarin.Forms.Maps.

Setup

  • Available on NuGet: https://www.nuget.org/packages/Xamarin.Forms.GoogleMaps/ NuGet
  • Install into your PCL project and Client projects.

Platform Support

|Platform|Supported| | ------------------- | :-----------: | |iOS Unified|Yes| |Android|Yes| |Windows 10 UWP|Yes (Bing map)| |Others|No|

Usage

Same as this

In iOS, get the API Key from Google Maps API for iOS then insert

Init
of
AppDelegate.cs
.
// AppDelegate.cs
[Register("AppDelegate")]
public partial class AppDelegate : global::Xamarin.Forms.Platform.iOS.FormsApplicationDelegate
{
    public override bool FinishedLaunching(UIApplication app, NSDictionary options)
    {
        global::Xamarin.Forms.Forms.Init();
        Xamarin.FormsGoogleMaps.Init("your_google_maps_ios_api_key");
        LoadApplication(new App());

    return base.FinishedLaunching(app, options);
}

}

In UWP, you should add Xamarin.Forms.GoogleMaps.UWP.dll to rendererAssemblies with

Xamarin.Forms.Forms.Init()
.
// App.xaml.cs
protected override void OnLaunched(LaunchActivatedEventArgs e)
{
    Frame rootFrame = Window.Current.Content as Frame;

if (rootFrame == null)
{
    rootFrame = new Frame();
    rootFrame.NavigationFailed += OnNavigationFailed;

    // Should add UWP side assembly to rendererAssemblies
    var rendererAssemblies = new []
    {
        typeof(Xamarin.Forms.GoogleMaps.UWP.MapRenderer).GetTypeInfo().Assembly
    };
    Xamarin.Forms.Forms.Init(e, rendererAssemblies);

    Xamarin.FormsGoogleMaps.Init("your_bing_maps_api_key");

    Window.Current.Content = rootFrame;
}

if (rootFrame.Content == null)
{
    rootFrame.Navigate(typeof(MainPage), e.Arguments);
}
Window.Current.Activate();

}

Namespace is

Xamarin.Forms.GoogleMaps
instead of
Xamarin.Forms.Maps
.

Sample application is here.

Who uses it?

This is just a short list of apps and projects that use Xamarin.Forms.GoogleMaps. If you've used Xamarin.Forms.GoogleMaps in a apps and would like it listed on this page, Please report it.

HereNow

by CINRA, Inc.

CityBee

 

Rentacarss Araç Takip

 

UPSPACE

 

TransantiagoMaster

NowStation

by SHIN-YOSHA corp.

CmsApp

iOS  / Android

by Ruben Carreon

UsynligO

iOS  / Android

by Trond Benum

Releases

See Releases or RELEASE_NOTES.

Future plans

I will follow Xamarin.Forms.Maps API as possible. I will add new API only when I implement Google maps original feature.

If you have proposals then send to @amay077 or submit ISSUE or Pull-request!

Latest scheduled features as follows:

  • ~~Pin.ShowInfoWindow/HideInfoWindow method(or IsVisibleInfoWindow property)~~ add in v1.0.0
  • ~~Moving pin by tap and hold~~ add in v1.5.0
  • ~~Adding Polygon, Polyline, Circle~~ add in v1.1.0
  • and more enhancements!

You can use in Windows 10 UWP but this support is reluctant. Because this library has been determined to optimized for Google Maps, New features will not support in UWP.

Contribution

We really appreciate your contribution.

Please read the contribution guideline.

Commmunity Chat

You can join to out gitter room!

Donation

I will continue to work hard with your support!

Donate through Gumroad.

If this project help you reduce time to develop, you can give me a :sushi: :)

License

See LICENSE .

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.