Skip to content

Commit 522581c

Browse files
committed
Add RectangleMarker and PolygonMarker notebook
1 parent 20498e1 commit 522581c

4 files changed

Lines changed: 154 additions & 20 deletions

File tree

Lines changed: 134 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,134 @@
1+
{
2+
"cells": [
3+
{
4+
"cell_type": "code",
5+
"execution_count": 1,
6+
"metadata": {
7+
"collapsed": false
8+
},
9+
"outputs": [
10+
{
11+
"name": "stdout",
12+
"output_type": "stream",
13+
"text": [
14+
"0.3.0.dev\n"
15+
]
16+
}
17+
],
18+
"source": [
19+
"import folium\n",
20+
"\n",
21+
"print(folium.__version__)"
22+
]
23+
},
24+
{
25+
"cell_type": "markdown",
26+
"metadata": {},
27+
"source": [
28+
"### RectangleMarker"
29+
]
30+
},
31+
{
32+
"cell_type": "code",
33+
"execution_count": 2,
34+
"metadata": {
35+
"collapsed": false
36+
},
37+
"outputs": [
38+
{
39+
"data": {
40+
"text/html": [
41+
"<div style=\"width:100%;\"><div style=\"position:relative;width:100%;height:0;padding-bottom:60%;\"><iframe src=\"data:text/html;base64,PCFET0NUWVBFIGh0bWw+CjxoZWFkPiAgICAKICAgIDxtZXRhIGh0dHAtZXF1aXY9ImNvbnRlbnQtdHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL2xlYWZsZXQvMC43LjMvbGVhZmxldC5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9hamF4Lmdvb2dsZWFwaXMuY29tL2FqYXgvbGlicy9qcXVlcnkvMS4xMS4xL2pxdWVyeS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vYm9vdHN0cmFwLzMuMi4wL2pzL2Jvb3RzdHJhcC5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL0xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLzIuMC4yL2xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvbGVhZmxldC5tYXJrZXJjbHVzdGVyLzAuNC4wL2xlYWZsZXQubWFya2VyY2x1c3Rlci1zcmMuanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL2xlYWZsZXQubWFya2VyY2x1c3Rlci8wLjQuMC9sZWFmbGV0Lm1hcmtlcmNsdXN0ZXIuanMiPjwvc2NyaXB0PgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9sZWFmbGV0LzAuNy4zL2xlYWZsZXQuY3NzIiAvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9jc3MvYm9vdHN0cmFwLm1pbi5jc3MiIC8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vYm9vdHN0cmFwLzMuMi4wL2Nzcy9ib290c3RyYXAtdGhlbWUubWluLmNzcyIgLz4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9tYXhjZG4uYm9vdHN0cmFwY2RuLmNvbS9mb250LWF3ZXNvbWUvNC42LjMvY3NzL2ZvbnQtYXdlc29tZS5taW4uY3NzIiAvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9MZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy8yLjAuMi9sZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy5jc3MiIC8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL2xlYWZsZXQubWFya2VyY2x1c3Rlci8wLjQuMC9NYXJrZXJDbHVzdGVyLkRlZmF1bHQuY3NzIiAvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9sZWFmbGV0Lm1hcmtlcmNsdXN0ZXIvMC40LjAvTWFya2VyQ2x1c3Rlci5jc3MiIC8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vcmF3Z2l0LmNvbS9weXRob24tdmlzdWFsaXphdGlvbi9mb2xpdW0vbWFzdGVyL2ZvbGl1bS90ZW1wbGF0ZXMvbGVhZmxldC5hd2Vzb21lLnJvdGF0ZS5jc3MiIC8+CiAgICA8c3R5bGU+aHRtbCwgYm9keSB7d2lkdGg6IDEwMCU7aGVpZ2h0OiAxMDAlO21hcmdpbjogMDtwYWRkaW5nOiAwO308L3N0eWxlPgogICAgPHN0eWxlPiNtYXAge3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO3JpZ2h0OjA7bGVmdDowO308L3N0eWxlPgogICAgCiAgICAgICAgICAgIDxzdHlsZT4gI21hcF8yMTdmYjE4OGIxYTg0ZGQ3ODQxNWRhMTA2ODQzYTVhZCB7CiAgICAgICAgICAgICAgICBwb3NpdGlvbiA6IHJlbGF0aXZlOwogICAgICAgICAgICAgICAgd2lkdGggOiAxMDAuMCU7CiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMC4wJTsKICAgICAgICAgICAgICAgIGxlZnQ6IDAuMCU7CiAgICAgICAgICAgICAgICB0b3A6IDAuMCU7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIDwvc3R5bGU+CiAgICAgICAgCjwvaGVhZD4KPGJvZHk+ICAgIAogICAgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvbGl1bS1tYXAiIGlkPSJtYXBfMjE3ZmIxODhiMWE4NGRkNzg0MTVkYTEwNjg0M2E1YWQiID48L2Rpdj4KICAgICAgICAKPC9ib2R5Pgo8c2NyaXB0PiAgICAKICAgIAoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgc291dGhXZXN0ID0gTC5sYXRMbmcoLTkwLCAtMTgwKTsKICAgICAgICAgICAgICAgIHZhciBub3J0aEVhc3QgPSBMLmxhdExuZyg5MCwgMTgwKTsKICAgICAgICAgICAgICAgIHZhciBib3VuZHMgPSBMLmxhdExuZ0JvdW5kcyhzb3V0aFdlc3QsIG5vcnRoRWFzdCk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgdmFyIG1hcF8yMTdmYjE4OGIxYTg0ZGQ3ODQxNWRhMTA2ODQzYTVhZCA9IEwubWFwKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21hcF8yMTdmYjE4OGIxYTg0ZGQ3ODQxNWRhMTA2ODQzYTVhZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Y2VudGVyOiBbMzUuNjcsMTM5Ljc4XSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHpvb206IDEzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4Qm91bmRzOiBib3VuZHMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYXllcnM6IFtdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd29ybGRDb3B5SnVtcDogZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjcnM6IEwuQ1JTLkVQU0czODU3CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgdGlsZV9sYXllcl84YjJhYTJlOWNkY2Q0YzhlYWVlN2Q0NjJhYzE4YjMyYiA9IEwudGlsZUxheWVyKAogICAgICAgICAgICAgICAgJ2h0dHBzOi8ve3N9LnRpbGUub3BlbnN0cmVldG1hcC5vcmcve3p9L3t4fS97eX0ucG5nJywKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBtYXhab29tOiAxOCwKICAgICAgICAgICAgICAgICAgICBtaW5ab29tOiAxLAogICAgICAgICAgICAgICAgICAgIGNvbnRpbnVvdXNXb3JsZDogZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgbm9XcmFwOiBmYWxzZSwKICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGlvbjogJ0RhdGEgYnkgPGEgaHJlZj0iaHR0cDovL29wZW5zdHJlZXRtYXAub3JnIj5PcGVuU3RyZWV0TWFwPC9hPiwgdW5kZXIgPGEgaHJlZj0iaHR0cDovL3d3dy5vcGVuc3RyZWV0bWFwLm9yZy9jb3B5cmlnaHQiPk9EYkw8L2E+LicsCiAgICAgICAgICAgICAgICAgICAgZGV0ZWN0UmV0aW5hOiBmYWxzZQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzIxN2ZiMTg4YjFhODRkZDc4NDE1ZGExMDY4NDNhNWFkKTsKCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHJlY3RhbmdsZV9tYXJrZXJfNjc5MjNhYTczNjBiNGUzYjhkZTVmMDA1MWYyNDM5MjcgPSBMLnJlY3RhbmdsZSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtbWzM1LjY4MSwgMTM5Ljc2Nl0sWzM1LjY5MSwgMTM5Ljc3Nl1dLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyxdXSwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBjb2xvcjogJ2JsdWUnLAogICAgICAgICAgICAgICAgICAgIGZpbGxDb2xvcjogJ3JlZCcsCiAgICAgICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDAuNiwKICAgICAgICAgICAgICAgICAgICB3ZWlnaHQ6IDEKICAgICAgICAgICAgICAgIH0pLmFkZFRvKG1hcF8yMTdmYjE4OGIxYTg0ZGQ3ODQxNWRhMTA2ODQzYTVhZCk7CgogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfNTg4NTE4MGVkZmJkNDE1Yjg2ZGQ3ZmNhZDE1MWRhYjAgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfMzZlMGFhNTUzMmM2NGNhOGJiNTY0M2Y1YTVjN2I3MWYgPSAkKCc8ZGl2IGlkPSJodG1sXzM2ZTBhYTU1MzJjNjRjYThiYjU2NDNmNWE1YzdiNzFmIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5Ub2t5bywgSmFwYW48L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzU4ODUxODBlZGZiZDQxNWI4NmRkN2ZjYWQxNTFkYWIwLnNldENvbnRlbnQoaHRtbF8zNmUwYWE1NTMyYzY0Y2E4YmI1NjQzZjVhNWM3YjcxZik7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgcmVjdGFuZ2xlX21hcmtlcl82NzkyM2FhNzM2MGI0ZTNiOGRlNWYwMDUxZjI0MzkyNy5iaW5kUG9wdXAocG9wdXBfNTg4NTE4MGVkZmJkNDE1Yjg2ZGQ3ZmNhZDE1MWRhYjApOwoKICAgICAgICAgICAgCiAgICAgICAgCjwvc2NyaXB0Pg==\" style=\"position:absolute;width:100%;height:100%;left:0;top:0;\" allowfullscreen webkitallowfullscreen mozallowfullscreen></iframe></div></div>"
42+
],
43+
"text/plain": [
44+
"<folium.folium.Map at 0x7f6226ffca58>"
45+
]
46+
},
47+
"execution_count": 2,
48+
"metadata": {},
49+
"output_type": "execute_result"
50+
}
51+
],
52+
"source": [
53+
"m = folium.Map(location=[35.67, 139.78], zoom_start=13)\n",
54+
"\n",
55+
"folium.features.RectangleMarker(\n",
56+
" bounds=[[35.681, 139.766], [35.691, 139.776]],\n",
57+
" color='blue',\n",
58+
" fill_color='red',\n",
59+
" popup='Tokyo, Japan').add_to(m)\n",
60+
"\n",
61+
"m"
62+
]
63+
},
64+
{
65+
"cell_type": "markdown",
66+
"metadata": {},
67+
"source": [
68+
"### Polygon"
69+
]
70+
},
71+
{
72+
"cell_type": "code",
73+
"execution_count": 3,
74+
"metadata": {
75+
"collapsed": false
76+
},
77+
"outputs": [
78+
{
79+
"data": {
80+
"text/html": [
81+
"<div style=\"width:100%;\"><div style=\"position:relative;width:100%;height:0;padding-bottom:60%;\"><iframe src=\"data:text/html;base64,PCFET0NUWVBFIGh0bWw+CjxoZWFkPiAgICAKICAgIDxtZXRhIGh0dHAtZXF1aXY9ImNvbnRlbnQtdHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL2xlYWZsZXQvMC43LjMvbGVhZmxldC5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9hamF4Lmdvb2dsZWFwaXMuY29tL2FqYXgvbGlicy9qcXVlcnkvMS4xMS4xL2pxdWVyeS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vYm9vdHN0cmFwLzMuMi4wL2pzL2Jvb3RzdHJhcC5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL0xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLzIuMC4yL2xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvbGVhZmxldC5tYXJrZXJjbHVzdGVyLzAuNC4wL2xlYWZsZXQubWFya2VyY2x1c3Rlci1zcmMuanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL2xlYWZsZXQubWFya2VyY2x1c3Rlci8wLjQuMC9sZWFmbGV0Lm1hcmtlcmNsdXN0ZXIuanMiPjwvc2NyaXB0PgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9sZWFmbGV0LzAuNy4zL2xlYWZsZXQuY3NzIiAvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9jc3MvYm9vdHN0cmFwLm1pbi5jc3MiIC8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vYm9vdHN0cmFwLzMuMi4wL2Nzcy9ib290c3RyYXAtdGhlbWUubWluLmNzcyIgLz4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9tYXhjZG4uYm9vdHN0cmFwY2RuLmNvbS9mb250LWF3ZXNvbWUvNC42LjMvY3NzL2ZvbnQtYXdlc29tZS5taW4uY3NzIiAvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9MZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy8yLjAuMi9sZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy5jc3MiIC8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL2xlYWZsZXQubWFya2VyY2x1c3Rlci8wLjQuMC9NYXJrZXJDbHVzdGVyLkRlZmF1bHQuY3NzIiAvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9sZWFmbGV0Lm1hcmtlcmNsdXN0ZXIvMC40LjAvTWFya2VyQ2x1c3Rlci5jc3MiIC8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vcmF3Z2l0LmNvbS9weXRob24tdmlzdWFsaXphdGlvbi9mb2xpdW0vbWFzdGVyL2ZvbGl1bS90ZW1wbGF0ZXMvbGVhZmxldC5hd2Vzb21lLnJvdGF0ZS5jc3MiIC8+CiAgICA8c3R5bGU+aHRtbCwgYm9keSB7d2lkdGg6IDEwMCU7aGVpZ2h0OiAxMDAlO21hcmdpbjogMDtwYWRkaW5nOiAwO308L3N0eWxlPgogICAgPHN0eWxlPiNtYXAge3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO3JpZ2h0OjA7bGVmdDowO308L3N0eWxlPgogICAgCiAgICAgICAgICAgIDxzdHlsZT4gI21hcF83ZGVmMjYzNDUwODE0ZjUyYjU4YTk3OTIyNTc2MmIyMiB7CiAgICAgICAgICAgICAgICBwb3NpdGlvbiA6IHJlbGF0aXZlOwogICAgICAgICAgICAgICAgd2lkdGggOiAxMDAuMCU7CiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMC4wJTsKICAgICAgICAgICAgICAgIGxlZnQ6IDAuMCU7CiAgICAgICAgICAgICAgICB0b3A6IDAuMCU7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIDwvc3R5bGU+CiAgICAgICAgCjwvaGVhZD4KPGJvZHk+ICAgIAogICAgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvbGl1bS1tYXAiIGlkPSJtYXBfN2RlZjI2MzQ1MDgxNGY1MmI1OGE5NzkyMjU3NjJiMjIiID48L2Rpdj4KICAgICAgICAKPC9ib2R5Pgo8c2NyaXB0PiAgICAKICAgIAoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgc291dGhXZXN0ID0gTC5sYXRMbmcoLTkwLCAtMTgwKTsKICAgICAgICAgICAgICAgIHZhciBub3J0aEVhc3QgPSBMLmxhdExuZyg5MCwgMTgwKTsKICAgICAgICAgICAgICAgIHZhciBib3VuZHMgPSBMLmxhdExuZ0JvdW5kcyhzb3V0aFdlc3QsIG5vcnRoRWFzdCk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgdmFyIG1hcF83ZGVmMjYzNDUwODE0ZjUyYjU4YTk3OTIyNTc2MmIyMiA9IEwubWFwKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21hcF83ZGVmMjYzNDUwODE0ZjUyYjU4YTk3OTIyNTc2MmIyMicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Y2VudGVyOiBbMzUuNjcsMTM5Ljc4XSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHpvb206IDEzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4Qm91bmRzOiBib3VuZHMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYXllcnM6IFtdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd29ybGRDb3B5SnVtcDogZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjcnM6IEwuQ1JTLkVQU0czODU3CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgdGlsZV9sYXllcl8zYWY0YTk0OGEwNjk0N2QwYjM5MjNhNDVjYzk2YjRjNSA9IEwudGlsZUxheWVyKAogICAgICAgICAgICAgICAgJ2h0dHBzOi8ve3N9LnRpbGUub3BlbnN0cmVldG1hcC5vcmcve3p9L3t4fS97eX0ucG5nJywKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBtYXhab29tOiAxOCwKICAgICAgICAgICAgICAgICAgICBtaW5ab29tOiAxLAogICAgICAgICAgICAgICAgICAgIGNvbnRpbnVvdXNXb3JsZDogZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgbm9XcmFwOiBmYWxzZSwKICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGlvbjogJ0RhdGEgYnkgPGEgaHJlZj0iaHR0cDovL29wZW5zdHJlZXRtYXAub3JnIj5PcGVuU3RyZWV0TWFwPC9hPiwgdW5kZXIgPGEgaHJlZj0iaHR0cDovL3d3dy5vcGVuc3RyZWV0bWFwLm9yZy9jb3B5cmlnaHQiPk9EYkw8L2E+LicsCiAgICAgICAgICAgICAgICAgICAgZGV0ZWN0UmV0aW5hOiBmYWxzZQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzdkZWYyNjM0NTA4MTRmNTJiNThhOTc5MjI1NzYyYjIyKTsKCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvbHlnb25fbWFya2VyX2VkYjBlYjA2ZWU3NzQ5ZjBhOTBjNjE4MmIxM2E3NmJiID0gTC5wb2x5Z29uKFtbMzUuNjc2MiwgMTM5Ljc3OTVdLCBbMzUuNjcxOCwgMTM5Ljc4MzFdLCBbMzUuNjc2NywgMTM5Ljc4NjhdLCBbMzUuNjc5NSwgMTM5Ljc4MjRdLCBbMzUuNjc4NywgMTM5Ljc3OTFdXSwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBjb2xvcjogJ2JsdWUnLAogICAgICAgICAgICAgICAgICAgIGZpbGxDb2xvcjogJ3JlZCcsCiAgICAgICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDAuNSwKICAgICAgICAgICAgICAgICAgICB3ZWlnaHQ6IDEwCiAgICAgICAgICAgICAgICB9KS5hZGRUbyhtYXBfN2RlZjI2MzQ1MDgxNGY1MmI1OGE5NzkyMjU3NjJiMjIpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfNDE4YzQ1OTM0NGZiNGM5ZmJkZWRlZjgwYTRiODMwMGEgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfNDZjZjUxMTJjYTczNDUzMmFhNGU4N2IwNmU3Nzc2OTcgPSAkKCc8ZGl2IGlkPSJodG1sXzQ2Y2Y1MTEyY2E3MzQ1MzJhYTRlODdiMDZlNzc3Njk3IiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5Ub2t5bywgSmFwYW48L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzQxOGM0NTkzNDRmYjRjOWZiZGVkZWY4MGE0YjgzMDBhLnNldENvbnRlbnQoaHRtbF80NmNmNTExMmNhNzM0NTMyYWE0ZTg3YjA2ZTc3NzY5Nyk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgcG9seWdvbl9tYXJrZXJfZWRiMGViMDZlZTc3NDlmMGE5MGM2MTgyYjEzYTc2YmIuYmluZFBvcHVwKHBvcHVwXzQxOGM0NTkzNDRmYjRjOWZiZGVkZWY4MGE0YjgzMDBhKTsKCiAgICAgICAgICAgIAogICAgICAgIAo8L3NjcmlwdD4=\" style=\"position:absolute;width:100%;height:100%;left:0;top:0;\" allowfullscreen webkitallowfullscreen mozallowfullscreen></iframe></div></div>"
82+
],
83+
"text/plain": [
84+
"<folium.folium.Map at 0x7f6226fbb908>"
85+
]
86+
},
87+
"execution_count": 3,
88+
"metadata": {},
89+
"output_type": "execute_result"
90+
}
91+
],
92+
"source": [
93+
"m = folium.Map(location=[35.67, 139.78], zoom_start=13)\n",
94+
"\n",
95+
"locations = [[35.6762, 139.7795],\n",
96+
" [35.6718, 139.7831],\n",
97+
" [35.6767, 139.7868],\n",
98+
" [35.6795, 139.7824],\n",
99+
" [35.6787, 139.7791]]\n",
100+
"\n",
101+
"folium.features.PolygonMarker(\n",
102+
" locations,\n",
103+
" color='blue',\n",
104+
" weight=10,\n",
105+
" fill_color='red',\n",
106+
" fill_opacity=0.5,\n",
107+
" popup='Tokyo, Japan').add_to(m)\n",
108+
"\n",
109+
"m"
110+
]
111+
}
112+
],
113+
"metadata": {
114+
"kernelspec": {
115+
"display_name": "Python [default]",
116+
"language": "python",
117+
"name": "python3"
118+
},
119+
"language_info": {
120+
"codemirror_mode": {
121+
"name": "ipython",
122+
"version": 3
123+
},
124+
"file_extension": ".py",
125+
"mimetype": "text/x-python",
126+
"name": "python",
127+
"nbconvert_exporter": "python",
128+
"pygments_lexer": "ipython3",
129+
"version": "3.5.2"
130+
}
131+
},
132+
"nbformat": 4,
133+
"nbformat_minor": 0
134+
}

folium/features.py

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -869,20 +869,20 @@ def __init__(self, locations, color='black', weight=1, fill_color='black',
869869
870870
Examples
871871
--------
872-
>>> loc = [[35.6762, 139.7795],
873-
... [35.6718, 139.7831],
874-
... [35.6767, 139.7868],
875-
... [35.6795, 139.7824],
876-
... [35.6787, 139.7791]]
877-
>>> Polygon(loc, color="blue", weight=10, fill_color="red",
878-
... fill_opacity=0.5, popup="Tokyo, Japan"))
872+
>>> locations = [[35.6762, 139.7795],
873+
... [35.6718, 139.7831],
874+
... [35.6767, 139.7868],
875+
... [35.6795, 139.7824],
876+
... [35.6787, 139.7791]]
877+
>>> Polygon(locations, color='blue', weight=10, fill_color='red',
878+
... fill_opacity=0.5, popup='Tokyo, Japan'))
879879
880880
"""
881-
super(Polygon, self).__init__((
881+
super(PolygonMarker, self).__init__((
882882
_locations_mirror(locations) if not latlon else
883883
_locations_tolist(locations)), popup=popup
884884
)
885-
self._name = 'Polygon'
885+
self._name = 'PolygonMarker'
886886
self.color = color
887887
self.weight = weight
888888
self.fill_color = fill_color

folium/templates/polygon.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
var {{ Polygon }} = L.polygon({{location}},
1+
var {{ PolygonMarker }} = L.polygon({{location}},
22
{
33
color:'{{ color }}',
44
fillColor:'{{ fill_color }}',

tests/test_folium.py

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323

2424
import folium
2525
from folium.map import Popup, Marker, FitBounds, FeatureGroup
26-
from folium.features import TopoJson, RectangleMarker, Polygon
26+
from folium.features import TopoJson, RectangleMarker, PolygonMarker
2727

2828
rootpath = os.path.abspath(os.path.dirname(__file__))
2929

@@ -222,13 +222,13 @@ def test_rectangle_marker(self):
222222
bounds = self.map.get_bounds()
223223
assert bounds == [[45.6, -122.9], [45.7, -122.8]], bounds
224224

225-
def test_polygon(self):
225+
def test_polygon_marker(self):
226226
"""Test polygon additions."""
227227

228228
self.map = folium.Map(location=[45.60, -122.8])
229229
polygon_templ = self.env.get_template('polygon.js')
230230

231-
# Single Polygon.
231+
# Single PolygonMarker.
232232
locations = [[35.6636, 139.7634],
233233
[35.6629, 139.7664],
234234
[35.6663, 139.7706],
@@ -237,9 +237,9 @@ def test_polygon(self):
237237
[35.6720, 139.7606],
238238
[35.6682, 139.7588],
239239
[35.6663, 139.7627]]
240-
self.map.add_child(Polygon(locations=locations, popup='Hi'))
240+
self.map.add_child(PolygonMarker(locations=locations, popup='Hi'))
241241
marker = list(self.map._children.values())[-1]
242-
polygon_1 = polygon_templ.render({'Polygon': marker.get_name(),
242+
polygon_1 = polygon_templ.render({'PolygonMarker': marker.get_name(),
243243
'location': locations,
244244
'color': 'black',
245245
'fill_color': 'black',
@@ -248,7 +248,7 @@ def test_polygon(self):
248248
assert (''.join(polygon_1.split())[:-1] in
249249
''.join(self.map.get_root().render().split()))
250250

251-
# Second Polygon.
251+
# Second PolygonMarker.
252252
locations = [[35.5636, 138.7634],
253253
[35.5629, 138.7664],
254254
[35.5663, 138.7706],
@@ -257,11 +257,11 @@ def test_polygon(self):
257257
[35.5720, 138.7606],
258258
[35.5682, 138.7588],
259259
[35.5663, 138.7627]]
260-
self.map.add_child(Polygon(locations=locations, color='red',
261-
fill_color='red', fill_opacity=0.7,
262-
weight=3, popup='Hi'))
260+
self.map.add_child(PolygonMarker(locations=locations, color='red',
261+
fill_color='red', fill_opacity=0.7,
262+
weight=3, popup='Hi'))
263263
marker = list(self.map._children.values())[-1]
264-
polygon_2 = polygon_templ.render({'Polygon': marker.get_name(),
264+
polygon_2 = polygon_templ.render({'PolygonMarker': marker.get_name(),
265265
'location': locations,
266266
'color': 'red',
267267
'fill_color': 'red',

0 commit comments

Comments
 (0)