Python,Bokeh," oops!出了问题"映射时

时间:2018-06-08 13:14:03

标签: python-3.x google-api bokeh

我正在浏览Bokeh用户指南并且卡在Mapping Geo Data section上。

我几乎复制并粘贴了代码,但由于某种原因,请继续获取以下内容:

enter image description here

代码如下:

from bokeh.io import output_file, show
from bokeh.models import (
  GMapPlot, GMapOptions, ColumnDataSource, Circle, Range1d, PanTool, WheelZoomTool, BoxSelectTool
)

map_options = GMapOptions(lat=30.29, lng=-97.73, map_type="roadmap", zoom=11)

plot = GMapPlot(x_range=Range1d(), y_range=Range1d(), map_options=map_options)
plot.title.text = "Austin"

# For GMaps to function, Google requires you obtain and enable an API key:
#
#     https://developers.google.com/maps/documentation/javascript/get-api-key
#
# Replace the value below with your personal API key:
plot.api_key = "GOOGLE_API_KEY"

source = ColumnDataSource(
    data=dict(
        lat=[30.29, 30.20, 30.29],
        lon=[-97.70, -97.74, -97.78],
    )
)

circle = Circle(x="lon", y="lat", size=15, fill_color="blue", fill_alpha=0.8, line_color=None)
plot.add_glyph(source, circle)

plot.add_tools(PanTool(), WheelZoomTool(), BoxSelectTool())
output_file("gmap_plot.html")
show(plot)

我读到有时会发生这种情况,因为API密钥不正确 - 甚至进入 - 我的绝对是正确的,所以我不确定我做错了什么?

启用Google API: enter image description here

3 个答案:

答案 0 :(得分:1)

这几乎是gmaps的API密钥的一个问题。遵循错误消息的建议并检查javascript控制台是否有错误将是有用的。然后你会马上知道问题是什么。

答案 1 :(得分:0)

我无法从文档中获取代码片段,对于0.12.14-0.12.16中的任何版本......无论如何。我得到了以下工作:

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)

show(p)

答案 2 :(得分:0)

我有类似的问题。至少有15个适用于Google MAP的API。

可以通过激活

解决此问题

Maps JavaScript API 谷歌