{ "info": { "author": "Bruno Rocha", "author_email": "rochacbruno@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Web Environment", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 2", "Programming Language :: Python :: 3", "Topic :: Internet :: WWW/HTTP :: Dynamic Content", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "# Flask Google Maps\n\n[![Flask Registered](https://img.shields.io/badge/flask-registered-green.svg?style=flat)](https://github.com/pocoo/metaflask)\nDonate with Paypal\n\nEasy to use Google Maps in your Flask application\n\nLook the Live DEMO: http://flaskgooglemaps.pythonanywhere.com\n\n## requires\n\n- Jinja\n- Flask\n- A google api key [get here](https://developers.google.com/maps/documentation/javascript/get-api-key)\n\n\n## Installation\n\n```pip install flask-googlemaps```\n\nor\n\n```bash\n\ngit clone https://github.com/rochacbruno/Flask-GoogleMaps\ncd Flask-GoogleMaps\npython setup.py install\n\n```\n\n## How it works\n\nFlask-GoogleMaps includes some global functions and template filters in your Jinja environment, also it allows you to use the Map in views if needed.\n\n\n### registering\n\nin your app\n\n```python\n\nfrom flask import Flask\nfrom flask_googlemaps import GoogleMaps\n\napp = Flask(__name__)\n\n# you can set key as config\napp.config['GOOGLEMAPS_KEY'] = \"8JZ7i18MjFuM35dJHq70n3Hx4\"\n\n# Initialize the extension\nGoogleMaps(app)\n\n# you can also pass the key here if you prefer\nGoogleMaps(app, key=\"8JZ7i18MjFuM35dJHq70n3Hx4\")\n\n```\n\nIn template\n\n```html\n\n{{googlemap(\"my_awesome_map\", lat=0.23234234, lng=-0.234234234, markers=[(0.12, -0.45345), ...])}}\n\n```\n\nThat's it! now you have some template filters and functions to use, more details in examples and screenshot below.\n\n\n\n### Usage\n\n- You can create the map in the view and then send to the template context\n- you can use the template functions and filters directly\n\n\n#### 1. View\n\n```python\n\nfrom flask import Flask, render_template\nfrom flask_googlemaps import GoogleMaps\nfrom flask_googlemaps import Map\n\napp = Flask(__name__, template_folder=\".\")\nGoogleMaps(app)\n\n@app.route(\"/\")\ndef mapview():\n # creating a map in the view\n mymap = Map(\n identifier=\"view-side\",\n lat=37.4419,\n lng=-122.1419,\n markers=[(37.4419, -122.1419)]\n )\n sndmap = Map(\n identifier=\"sndmap\",\n lat=37.4419,\n lng=-122.1419,\n markers=[\n {\n 'icon': 'http://maps.google.com/mapfiles/ms/icons/green-dot.png',\n 'lat': 37.4419,\n 'lng': -122.1419,\n 'infobox': \"Hello World\"\n },\n {\n 'icon': 'http://maps.google.com/mapfiles/ms/icons/blue-dot.png',\n 'lat': 37.4300,\n 'lng': -122.1400,\n 'infobox': \"Hello World from other place\"\n }\n ]\n )\n return render_template('example.html', mymap=mymap, sndmap=sndmap)\n\nif __name__ == \"__main__\":\n app.run(debug=True)\n\n```\n\n##### `Map()` Parameters\n\n- **lat**: The latitude coordinate for centering the map.\n- **lng**: The longitutde coordinate for centering the map.\n- **zoom**: The zoom level. Defaults to `13`.\n- **maptype**: The map type - `ROADMAP`, `SATELLITE`, `HYBRID`, `TERRAIN`. Defaults to `ROADMAP`.\n- **markers**: Markers array of tuples having (**lat**, **lng**, infobox, icon). Defaults to `None`.\n- or **markers**: a list of dicts containing **icon, lat, lng, infobox**.\n- or **markers**: Markers dictionary with icon urls as keys and markers array as values.\n- **varname**: The instance variable name.\n- **style**: A string containing CSS styles. Defaults to `\"height:300px;width:300px;margin:0;\"`.\n- **identifier**: The CSS ID selector name.\n- **cls**: The CSS Class selector name. Defaults to `\"map\"`.\n- **language**: The map language. Defaults to `\"en\"`.\n- **region**: The map region. Defaults to `\"US\"`.\n\nAlso controls True or False:\n\n- zoom_control\n- maptype_control\n- scale_control\n- scale_control\n- streetview_control\n- rotate_control\n- fullscreen_control\n- scroll_wheel\n- collapsible (map collapses by click on **varname**_collapse button)\n- center on user location (using HTML5 Geolocation)\n\n#### 2. Template\n\n```html\n\n\n \n \n {{\"decoupled-map\"|googlemap_js(37.4419, -122.1419, markers=[(37.4419, -122.1419)])}}\n {{mymap.js}}\n {{sndmap.js}}\n \n \n

Flask Google Maps Example

\n\n

Template function centered, no marker

\n {{googlemap(\"simple-map\", 37.4419, -122.1419)}}\n\n

Template filter decoupled with single marker

\n {{\"decoupled-map\"|googlemap_html(37.4419, -122.1419)}}\n\n

Template function with multiple markers

\n {% with map=googlemap_obj(\"another-map\", 37.4419, -122.1419, markers=[(37.4419, -122.1419), (37.4300, -122.1400)]) %}\n {{map.html}}\n {{map.js}}\n {% endwith %}\n\n

First map generated in view

\n {{mymap.html}}\n\n

Second map generated in view

\n

Example for different icons in multiple markers with infoboxes

\n {{sndmap.html}}\n\n \n\n\n```\n\n### Infobox\n\nHere's an example snippet of code:\n```python\n\n Map(\n identifier=\"catsmap\",\n lat=37.4419,\n lng=-122.1419,\n markers=[\n {\n 'icon': 'http://maps.google.com/mapfiles/ms/icons/green-dot.png',\n 'lat': 37.4419,\n 'lng': -122.1419,\n 'infobox': \"\"\n },\n {\n 'icon': 'http://maps.google.com/mapfiles/ms/icons/blue-dot.png',\n 'lat': 37.4300,\n 'lng': -122.1400,\n 'infobox': \"\"\n },\n {\n 'icon': 'http://maps.google.com/mapfiles/ms/icons/yellow-dot.png',\n 'lat': 37.4500,\n 'lng': -122.1350,\n 'infobox': \"\"\n }\n ]\n )\n\n```\n\nWhich results in something like the following map:\n\"screen\n\n\n### Fit all markers within bounds\n\nAllow users to easily fit all markers within view on page load\n\n#### Without bounds\n\n```python\n\n@app.route('/map-unbounded/')\ndef map_unbounded():\n\"\"\"Create map with markers out of bounds.\"\"\"\n locations = [] # long list of coordinates\n map = Map(\n lat=locations[0].latitude,\n lng=locations[0].longitude,\n markers=[(loc.latitude, loc.longitude) for loc in locations]\n )\n return render_template('map.html', map=map)\n\n```\n\n![image](https://user-images.githubusercontent.com/14223309/29294427-24a8d4e0-8104-11e7-967b-0c55c20d0f7c.png)\n\n#### With bounds\n\n```python\n\n@app.route('/map-bounded/')\ndef map_bounded():\n\"\"\"Create map with all markers within bounds.\"\"\"\n locations = [] # long list of coordinates\n map = Map(\n lat=locations[0].latitude,\n lng=locations[0].longitude,\n markers=[(loc.latitude, loc.longitude) for loc in locations],\n fit_markers_to_bounds = True\n )\n return render_template('map.html', map=map)\n\n```\n\n![image](https://user-images.githubusercontent.com/14223309/29294483-6ac3e532-8104-11e7-988c-5c19d700fe5b.png)\n\n### Run the example app\n\n```bash\n\n$ git clone https://github.com/rochacbruno/Flask-GoogleMaps\n$ cd Flask-GoogleMaps/examples\n$ python setup.py develop\n$ python example.py\nrunning..\n\n```\n\nAccess: http://localhost:5000/ and http://localhost:5000/fullmap\n\n### TODO (open a Pull Request)\n\nImplement other methods from the api, add layers etc...\n\nPlease see this page [developers.google.com/maps/documentation/javascript/tutorial](https://developers.google.com/maps/documentation/javascript/tutorial) and contribute!\n\n[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rochacbruno/flask-googlemaps/trend.png)](https://bitdeli.com/free \"Bitdeli Badge\")\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/rochacbruno/Flask-GoogleMaps/", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "Flask-GoogleMaps", "package_url": "https://pypi.org/project/Flask-GoogleMaps/", "platform": "any", "project_url": "https://pypi.org/project/Flask-GoogleMaps/", "project_urls": { "Homepage": "https://github.com/rochacbruno/Flask-GoogleMaps/" }, "release_url": "https://pypi.org/project/Flask-GoogleMaps/0.2.6/", "requires_dist": null, "requires_python": "", "summary": "Small extension for Flask to make using Google Maps easy", "version": "0.2.6" }, "last_serial": 3773555, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "26b8c1e67eb43d14607ba7dd8f991fc4", "sha256": "388c8d7acd65193ec923c048bf17fd91b3de83ac5d9b89beeed107338df44427" }, "downloads": -1, "filename": "Flask-GoogleMaps-0.1.0.tar.gz", "has_sig": false, "md5_digest": "26b8c1e67eb43d14607ba7dd8f991fc4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2734, "upload_time": "2013-11-21T23:59:44", "url": "https://files.pythonhosted.org/packages/dc/c2/0cbf7d1dac99565164ef15d9bd259be5740a95b840e25066f221a3048462/Flask-GoogleMaps-0.1.0.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "4db7ce9d9d2ebd210f3e636a75bbf76c", "sha256": "c6fbde1b5e5a1d0c4c9df91c8e6f51256671a42ad74fa7980f11f1d0b273583b" }, "downloads": -1, "filename": "Flask-GoogleMaps-0.1.3.tar.gz", "has_sig": false, "md5_digest": "4db7ce9d9d2ebd210f3e636a75bbf76c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3169, "upload_time": "2013-11-22T00:16:32", "url": "https://files.pythonhosted.org/packages/dd/07/cdd29873230f0a8786fb275d3f5167a1152312a9f033c584ac2ee9faed2c/Flask-GoogleMaps-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "b19b73240f78c908f8d3e6272eebbd32", "sha256": "d0c9ffd7a115a82c7aed9b6b8ede0a73393f7f0b3e613d31ee1981735b4d06ea" }, "downloads": -1, "filename": "Flask-GoogleMaps-0.1.4.tar.gz", "has_sig": false, "md5_digest": "b19b73240f78c908f8d3e6272eebbd32", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3785, "upload_time": "2013-11-22T00:41:24", "url": "https://files.pythonhosted.org/packages/7a/63/8c048fa711426133005ca214a16bbeb6baf7c954e37be353e5f92b0e04c4/Flask-GoogleMaps-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "7cee4e6025c7520067ad03a063614220", "sha256": "1ef80c4e4dc5f72cd9a6e08736b1c9199792b420cb19566daf73b235ee37a28a" }, "downloads": -1, "filename": "Flask-GoogleMaps-0.1.5.tar.gz", "has_sig": false, "md5_digest": "7cee4e6025c7520067ad03a063614220", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3748, "upload_time": "2013-11-22T00:45:50", "url": "https://files.pythonhosted.org/packages/58/f9/77c19f8a525ec1bb8fa4b479188db3073dc81ecac7ee013d372cf2396aef/Flask-GoogleMaps-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "738c6e5a6c7eb199a6346c0acf8c6ec3", "sha256": "8f627f3bc440e58ad958be1e9fcb90dc22c613467581d532bf81fade16d05948" }, "downloads": -1, "filename": "Flask-GoogleMaps-0.1.6.tar.gz", "has_sig": false, "md5_digest": "738c6e5a6c7eb199a6346c0acf8c6ec3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4675, "upload_time": "2015-07-01T15:11:58", "url": "https://files.pythonhosted.org/packages/fc/5f/ddbf9edfc60d3a188b19054fc5575ca98e85bdae988e59bb12b406aca5f4/Flask-GoogleMaps-0.1.6.tar.gz" } ], "0.1.8": [ { "comment_text": "", "digests": { "md5": "a03c255f3e4de3f58a369609b0443802", "sha256": "7a7bb73de71d43f186d4ef93c078d469d8558655a35e866ca08315751bab41ae" }, "downloads": -1, "filename": "Flask-GoogleMaps-0.1.8.tar.gz", "has_sig": false, "md5_digest": "a03c255f3e4de3f58a369609b0443802", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5811, "upload_time": "2015-07-29T21:42:23", "url": "https://files.pythonhosted.org/packages/70/83/4d23a5e0b981c2d52ea26bc8226c2a8935275c99f7ca8ccbac6dbbea7e4e/Flask-GoogleMaps-0.1.8.tar.gz" } ], "0.1.9": [ { "comment_text": "", "digests": { "md5": "5f54c9de199024ff9eb4496444846875", "sha256": "a7e69755ba78ac41f335fa137afa199dfb0314038f3779aaa3caeef023a00580" }, "downloads": -1, "filename": "Flask-GoogleMaps-0.1.9.tar.gz", "has_sig": false, "md5_digest": "5f54c9de199024ff9eb4496444846875", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5890, "upload_time": "2015-12-18T17:00:46", "url": "https://files.pythonhosted.org/packages/79/78/d7eb9e5b68d64a31b9219e55342e98596213866b0b26a83e5c0173a4fe4b/Flask-GoogleMaps-0.1.9.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "8dc861214666f32871e3c7c57c6c7f8f", "sha256": "36fce192a4c5ef6c005580b614baa21d402a5eb4f356c8e38a1a81fbc70535da" }, "downloads": -1, "filename": "Flask-GoogleMaps-0.2.0.tar.gz", "has_sig": false, "md5_digest": "8dc861214666f32871e3c7c57c6c7f8f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9756, "upload_time": "2016-06-29T00:31:51", "url": "https://files.pythonhosted.org/packages/5e/bf/ec4fa49a2dbee73c98cae7d853d37959611c18a499c3187af4908e90712a/Flask-GoogleMaps-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "abd700647de9d2e5d99873f4fadb4faf", "sha256": "bcf8264c36000a3f2a31978fa461553713af64f3cf28ea05e0c96c5c6ec6aabf" }, "downloads": -1, "filename": "Flask-GoogleMaps-0.2.1.tar.gz", "has_sig": false, "md5_digest": "abd700647de9d2e5d99873f4fadb4faf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13602, "upload_time": "2016-07-18T23:37:21", "url": "https://files.pythonhosted.org/packages/f8/fd/de87892c7a4213aa3bb049f2f6ed1ce3278944edf1164aed85ec92dfb809/Flask-GoogleMaps-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "fe8eb5e17e20b01ff6f3edf6f2cb030b", "sha256": "4d443a7aadf24d67fc8441165720611838b2dc28434231bfbd7a9e3938f3b6c5" }, "downloads": -1, "filename": "Flask-GoogleMaps-0.2.2.tar.gz", "has_sig": false, "md5_digest": "fe8eb5e17e20b01ff6f3edf6f2cb030b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13598, "upload_time": "2016-07-19T00:54:26", "url": "https://files.pythonhosted.org/packages/30/76/8501baf4ccb8483967061cc490a7fde4ae5718e5c4b5a7808e7dcf9d51c7/Flask-GoogleMaps-0.2.2.tar.gz" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "8de51075623a4f4b53cbd1f9885a7c60", "sha256": "a84174acacc2a76b8dc86307c8c2dded00af6b3f2266836de5df9473f1d6460b" }, "downloads": -1, "filename": "Flask-GoogleMaps-0.2.3.tar.gz", "has_sig": false, "md5_digest": "8de51075623a4f4b53cbd1f9885a7c60", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14403, "upload_time": "2016-10-07T15:45:08", "url": "https://files.pythonhosted.org/packages/f5/e0/388a3981733914388ca4cecd4a031515d73eca77e9c38764e14568c83138/Flask-GoogleMaps-0.2.3.tar.gz" } ], "0.2.4": [ { "comment_text": "", "digests": { "md5": "20dc76dfba3034cead4199c767f2b859", "sha256": "4acc2e8bdf65a8118ec8ec6fe7372c239f0655274f881533f9edf91fc6dae9ee" }, "downloads": -1, "filename": "Flask-GoogleMaps-0.2.4.tar.gz", "has_sig": false, "md5_digest": "20dc76dfba3034cead4199c767f2b859", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14414, "upload_time": "2016-10-07T16:04:00", "url": "https://files.pythonhosted.org/packages/1f/5a/bf2ebd54c95c2eab7bffaef62da2896e647210ec9be1d0a8f984d8654283/Flask-GoogleMaps-0.2.4.tar.gz" } ], "0.2.5": [ { "comment_text": "", "digests": { "md5": "45178a671fe6d794e77af8eaa4e85f2c", "sha256": "88a00175b4df3d7fc021929c6160c27de8351345ce739fe76667d1dead2c1c4b" }, "downloads": -1, "filename": "Flask_GoogleMaps-0.2.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "45178a671fe6d794e77af8eaa4e85f2c", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 45197, "upload_time": "2017-08-31T16:56:18", "url": "https://files.pythonhosted.org/packages/61/11/37ad72b7fbde6705c542bea3939277c7618c88fd27edd3310aa11aac7c10/Flask_GoogleMaps-0.2.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ab2086955e5a57f060261832e775cca9", "sha256": "551a76a86e86a0da6666cd6950bc3d1816ab6a0507251f18935ca65ab0310122" }, "downloads": -1, "filename": "Flask-GoogleMaps-0.2.5.tar.gz", "has_sig": false, "md5_digest": "ab2086955e5a57f060261832e775cca9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1652134, "upload_time": "2017-08-31T16:56:25", "url": "https://files.pythonhosted.org/packages/2b/6a/0070737a283ca2e0f9c2b020b88a198c0145e17d5f22441909f37bba9763/Flask-GoogleMaps-0.2.5.tar.gz" } ], "0.2.6": [ { "comment_text": "", "digests": { "md5": "9ba17f8c7eed717e83644b807b96ae40", "sha256": "ea045e06236095bf4c8da6993c2abee2878b779d2362b2ae8139f62edb618165" }, "downloads": -1, "filename": "Flask_GoogleMaps-0.2.6-py3-none-any.whl", "has_sig": false, "md5_digest": "9ba17f8c7eed717e83644b807b96ae40", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 16728, "upload_time": "2018-04-17T14:54:15", "url": "https://files.pythonhosted.org/packages/d5/db/4864a88c29ea01f92142fd5df1877d7c9ef197070c62b73306dae4f1b7d6/Flask_GoogleMaps-0.2.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "dec7b8bf2807d481b12062cb536fae42", "sha256": "a3de1e5dcd652feb6d43362900a052e3d91a1a2eafb9aae98b7c533bee286fa8" }, "downloads": -1, "filename": "Flask-GoogleMaps-0.2.6.tar.gz", "has_sig": false, "md5_digest": "dec7b8bf2807d481b12062cb536fae42", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15474, "upload_time": "2018-04-17T14:54:07", "url": "https://files.pythonhosted.org/packages/1c/99/df29a382fd4d483f6c78f92a462850fcf84868c96d618f19d98a75cd4a66/Flask-GoogleMaps-0.2.6.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "9ba17f8c7eed717e83644b807b96ae40", "sha256": "ea045e06236095bf4c8da6993c2abee2878b779d2362b2ae8139f62edb618165" }, "downloads": -1, "filename": "Flask_GoogleMaps-0.2.6-py3-none-any.whl", "has_sig": false, "md5_digest": "9ba17f8c7eed717e83644b807b96ae40", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 16728, "upload_time": "2018-04-17T14:54:15", "url": "https://files.pythonhosted.org/packages/d5/db/4864a88c29ea01f92142fd5df1877d7c9ef197070c62b73306dae4f1b7d6/Flask_GoogleMaps-0.2.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "dec7b8bf2807d481b12062cb536fae42", "sha256": "a3de1e5dcd652feb6d43362900a052e3d91a1a2eafb9aae98b7c533bee286fa8" }, "downloads": -1, "filename": "Flask-GoogleMaps-0.2.6.tar.gz", "has_sig": false, "md5_digest": "dec7b8bf2807d481b12062cb536fae42", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15474, "upload_time": "2018-04-17T14:54:07", "url": "https://files.pythonhosted.org/packages/1c/99/df29a382fd4d483f6c78f92a462850fcf84868c96d618f19d98a75cd4a66/Flask-GoogleMaps-0.2.6.tar.gz" } ] }