首页 > 解决方案 > 散景 GMaps 缩放工具不起作用

问题描述

我刚开始在 Bokeh 0.12.16 中使用 GMap 功能

我正在尝试向 GMap 图添加一些工具,我知道这BoxZoomTool 不兼容,但我似乎无法让其他工具工作?

HoverTool工作PanTool正常SaveTool。是否没有缩放工具适用于 GMap 图?

我的代码片段如下:

import pandas as pd
import os
os.chdir(r'PATH')
file = 'FILE_NAME.csv' 
df = pd.read_csv(file, skipinitialspace=True) 

group = df[["ColA", "ColB", "ColC", "ColD"]]
my_source = ColumnDataSource(group)
#my_source.column_names

from bokeh.plotting import figure, output_file, show, gmap
from bokeh.models import GMapOptions, ColumnDataSource

import numpy as np 
lat_lims = df.Latitude
#lat_lims
lon_lims = df.Longitude
#lon_lims

map_options = GMapOptions(lat=np.mean(lat_lims), lng=np.mean(lon_lims), zoom=6)

p = gmap(MY_API_KEY, map_options)
p.circle("Longitude",
         "Latitude",
         source=my_source, 
         size=5)


from bokeh.models import HoverTool, PanTool, ZoomInTool, ZoomOutTool, SaveTool
p.tools=[PanTool(), ZoomInTool(), ZoomOutTool(), SaveTool()]

from bokeh.models import HoverTool
p.add_tools( HoverTool(tooltips= [("TextA: ", "@ColA"),
                                    ("TextB: ", "@ColB")]))

show(p)

标签: python-3.xbokeh

解决方案


从 Bokeh 开始0.12.16,唯一可以与 Bokeh 一起使用的缩放工具GMapPlotWheelZoomTool. 这是因为其他设置的绘图范围是直接的,这与谷歌地图 API 不兼容(谷歌地图严格控制范围,用户不能直接设置)。但是,我认为它可能会制造ZoomInZoomOut发挥作用。如果您想提出这个建议并进一步讨论,请打开GitHub 功能请求问题。


推荐阅读