sandydoo / ember-google-maps

A friendly Ember addon for working with Google Maps.
https://ember-google-maps.sandydoo.me
MIT License
93 stars 24 forks source link
ember-addon ember-g-map emberjs google google-maps map maps

Ember Google Maps

Latest version npm Ember Observer Score Build Status

A friendly Ember addon for working with Google Maps.


Thanks for using the addon!

ember-google-maps is over 3 years old now. In that time, I’ve completely rewritten it multiple times over to support changes in both Ember and Google Maps. I’d love to keep working on this addon in my free time, but could use your support.

If you use ember-google-maps in your commercial work or find it valuable, consider leaving a donation to support on-going maintenance and API costs.

Support me on Ko-fi

Thank you! πŸ™ŒπŸ™ŒπŸ™Œ\ β€” @sandydoo


Are you new to Ember? Learn how to use Ember and install addons β†’

Looking for a more general mapping solution? Check out ember-leaflet β†’.

πŸ“Ž Documentation

Get started with ember-google-maps β†’

πŸ’¨ Quick start for the impatient

  1. Install the addon.
ember install ember-google-maps
  1. Provide a Google Maps API key in config/environment.js. Learn how to create an API key β†’
'ember-google-maps': {
  key: "<GOOGLE_MAPS_API_KEY>"
}
  1. Make sure your map has a size, or you’ll end up staring at a blank screen. ember-google-map is the default class for all maps.
.ember-google-map {
  width: 500px;
  height: 500px;
}
  1. Draw a new map at some coordinates.
<GMap @lat="51.508530" @lng="-0.076132" />
  1. Great! You’ve drawn a map.\ Now keep reading the docs β†’

πŸ”— Compatibility

Latest version

⭐ Examples

Display a map centered around a set of coordinates.

<GMap @lat="51.508530" @lng="-0.076132" @zoom={{10}} />

Display an array of locations using markers πŸ“.

<GMap @lat="51.508530" @lng="-0.076132" @zoom={{10}} as |map|>
  {{#each this.locations as |location|}}
    <map.marker
      @lat={{location.lat}}
      @lng={{location.lng}}
      @onClick={{fn this.showDetails location}} />
  {{/each}}
</GMap>

Display a custom overlay, like a custom HTML marker using template blocks 😱. This lets you do all sorts of fancy things, like adding CSS animations and binding data.

<GMap @lat="51.508530" @lng="-0.076132" @zoom={{10}} as |map|>
  {{#each this.rentals as |rental|}}
    <map.overlay @lat={{rental.lat}} @lng={{rental.lng}}>
      <div style="transform: translateX(-50%) translateY(-50%);">
        <p class="price">
          {{rental.price}}
        </p>
      </div>
    </map.overlay>
  {{/each}}
</GMap>

Learn more β†’

πŸ›’ Extra addons

πŸ˜‡ Maintainers

This addon is maintained by Sander Melnikov.

Contributing

See the Contributing guide for details.

License

MIT Β© Sander Melnikov.

Disclaimer

This software is not endorsed, maintained, or supported by Google LLC.

Β© 2020 Google LLC All rights reserved. Google Mapsβ„’ is a trademark of Google LLC.