Giter VIP home page Giter VIP logo

maui.googlemaps's Introduction

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

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.

by CINRA, Inc.

 

 

 

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 🍣 :)

License

See LICENSE .

maui.googlemaps's People

Contributors

amay077 avatar michalpaukert avatar gadzair avatar jkennedy24 avatar kochizufan avatar hofmanix avatar paulwagener avatar fumiya-kume avatar mierzynskim avatar tabamotch avatar matiszak avatar yamachu avatar simonemarra avatar exomode avatar danielkatz avatar tmk815 avatar ysk-tngc avatar uitmaurik avatar coredeveloper avatar yanc35 avatar vitorsaldiva avatar samirbittar avatar samirkhatri avatar codingcontraption avatar kekyo avatar kageshiron avatar jeancollas avatar dansiegel avatar atsushieno avatar

Stargazers

Ribu Rajan avatar Tracy avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.