#### I want to use Google Maps API tiles with Leaflet, can I do that?
The problem with Google is that its [Terms of Use](https://developers.google.com/maps/terms?hl=ru) forbid any means of tile access other than through Google Maps API.
You can add Google Maps API as a Leaflet layer with a [plugin](https://github.com/shramov/leaflet-plugins). But note that the map experience will not be perfect, because Leaflet will just act as a proxy to the Google Maps JS engine, so you won't get all the performance and usability benefits of using Leaflet when the Google layer is on.
Generally, we do our best to keep the Leaflet core small, lightweight and simple, focusing on _quality_ instead of _quantity_, and leaving all the rest to plugin authors.
Check out [this video](http://www.youtube.com/watch?v=_P2SaCPbJ4w) of a talk by the Leaflet creator for more background on the story and philosophy behind Leaflet.
Another essential read is [Advocating Simplicity in Open Source](http://blog.universalmind.com/advocating-simplicity-in-open-source/) by the same guy.
Leaflet generally does a pretty good job of handling heavy vector data with its real-time clipping and simplification algorithms, but browser technology still has its limits.
Try [switching from SVG to Canvas as default rendering back-end](http://leafletjs.com/reference.html#global), it may help considerably (depends on the app and the data).
If you still have too much data to render, you'll have to use some help of a server-side service like [MapBox](https://www.mapbox.com/), [CartoDB](http://cartodb.com/) and [GIS Cloud](http://www.giscloud.com/) (they all work great with Leaflet).
What they do under the hood is serving rendered data as image tiles, along with additional data to enable interactivity like hovering shapes
(e.g. done using [UTFGrid](https://www.mapbox.com/developers/utfgrid/) — Leaflet [has a nice plugin](https://github.com/danzel/Leaflet.utfgrid) for it).