使用一行Python创建美丽的JavaScript地图
项目描述
Mapkick.py
使用一行Python创建美丽的JavaScript地图。不再需要与映射库斗争!
对于图表,请查看 Chartkick.py
安装
运行
pip install mapkick
Mapkick使用 Mapbox GL JS v1。要使用来自Mapbox的瓦片,请创建一个Mapbox账户 以获取访问令牌 并在您的环境中设置MAPBOX_ACCESS_TOKEN
。
然后按照您Web框架的说明进行操作
Django
将以下内容添加到settings.py
中的INSTALLED_APPS
INSTALLED_APPS = [
'mapkick.django',
# ...
]
加载JavaScript
{% load static %}
<script src="{% static 'mapkick.bundle.js' %}"></script>
在视图中创建一个地图
from mapkick.django import Map
def index(request):
map = Map([{'latitude': 37.7829, 'longitude': -122.4190}])
return render(request, 'home/index.html', {'map': map})
并将其添加到模板中
{{ map }}
Flask
注册蓝图
from mapkick.flask import mapkick_blueprint
app.register_blueprint(mapkick_blueprint)
加载JavaScript
<script src="{{ url_for('mapkick.static', filename='mapkick.bundle.js') }}"></script>
在路由中创建一个地图
from mapkick.flask import Map
def index():
map = Map([{'latitude': 37.7829, 'longitude': -122.4190}])
return render_template('home/index.html', map=map)
并将其添加到模板中
{{ map }}
地图
点地图
Map([{'latitude': 37.7829, 'longitude': -122.4190}])
区域地图
AreaMap([{'geometry': {'type': 'Polygon', 'coordinates': ...}}])
数据
数据可以是一个列表
Map([{'latitude': 37.7829, 'longitude': -122.4190}])
或一个返回JSON(与上面相同的格式)的URL
Map('/restaurants')
点地图
使用latitude
或lat
表示纬度,使用longitude
、lon
或lng
表示经度
您可以指定每个数据点的标签、提示信息和颜色
{
'latitude': ...,
'longitude': ...,
'label': 'Hot Chicken Takeover',
'tooltip': '5 stars',
'color': '#f84d4d'
}
区域地图
使用GeoJSON的Polygon
或MultiPolygon
的geometry
您可以指定每个数据点的标签、提示信息和颜色
{
'geometry': {'type': 'Polygon', 'coordinates': ...},
'label': 'Hot Chicken Takeover',
'tooltip': '5 stars',
'color': '#0090ff'
}
选项
宽度和高度
Map(data, width='800px', height='500px')
标记颜色
Map(data, markers={'color': '#f84d4d'})
在点击时显示提示信息而不是悬停时显示
Map(data, tooltips={'hover': False})
在提示信息中允许HTML(必须手动清理)
Map(data, tooltips={'html': True})
地图样式
Map(data, style='mapbox://styles/mapbox/outdoors-v12')
缩放和控制
Map(data, zoom=15, controls=True)
每n
秒从远程源刷新数据
Map(url, refresh=60)
直接将选项传递给映射库
Map(data, library={'hash': True})
有关更多信息,请参阅Mapbox GL JS文档
历史
查看变更日志
贡献
鼓励每个人帮助改进这个项目。以下是一些您可以提供帮助的方式
开始开发
git clone https://github.com/ankane/mapkick.py.git
cd mapkick.py
pip install -r requirements.txt
pytest
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪一个,请了解更多关于安装包的信息。
源代码分发
此版本没有可用的源代码分发文件。请参阅生成分发归档的教程。
构建分发
mapkick-0.1.5-py2.py3-none-any.whl (220.0 kB 查看哈希值)
关闭
mapkick-0.1.5-py2.py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 00cd0fc520363aaefa0b55a1ecfb612780e4b2be34d8f844e85cab72574d0e35 |
|
MD5 | 0f4fdc8c3de14eb6ffef83f7453b3d7d |
|
BLAKE2b-256 | aaa7de0930a4c73407dfa2e0813b0485519eedffa10482f5d7bfa68fc47e2c50 |