Skip to main content
 首页 » 编程设计

python之找不到 PyMaps 变量

2025年05月04日57jirigala

我正在使用 Google Maps API 研究 PyMaps,这是我从 http://www.lonelycode.com/2008/12/04/google-maps-and-django/

def showmap(): 
from pymaps import Map, PyMap # import the libraries 
 
# Create a map - pymaps allows multiple maps in an object 
tmap = Map() 
tmap.zoom = 3 
 
# Latitude and lognitude - see the getcords function 
# to see how we convert from traditional D/M/S to the DD type 
# used by Googel Maps 
 
lat = 0.0 
long = 0.0 
 
# These coordinates are for Hong Kong 
dlat = "22 15 0 N" 
dlong = "114 10 60 E" 
 
dlat = dcode.lat.split(" ") 
dlong = dcode.long.split(" ") 
 
# Convert the coordinates 
lat = getcords(float(dlat[0]), float(dlat[1]), float(dlat[2]), dlat[3]) 
long = getcords(float(dlong[0]), float(dlong[1]), float(dlong[2]), dlong[3]) 
 
# Inserts html into the hover effect 
pointhtml = "Hello!" 
 
# Add the point to the map 
point = (lat, long, pointhtml, icon.id) 
 
tmap.setpoint(point) 
tmap.center = (1.757537,144.492188) 
 
# Put your own googl ekey here 
gmap = PyMap(key=GOOGLE_KEY, maplist=[tmap]) 
gmap.addicon(icon) 
 
# pymapjs exports all the javascript required to build the map! 
mapcode = gmap.pymapjs() 
 
# Do what you want with it - pass it to the template or print it! 
return mapcode 

问题是当我运行程序时出现错误,我得到“NameError: global name 'dcode' is not defined” dcode 究竟是什么,我在哪里可以找到它?是打错了吗?

请您参考如下方法:

我猜应该是这样的:

# These coordinates are for Hong Kong 
dlat = "22 15 0 N" 
dlong = "114 10 60 E" 
 
dlat = dlat.split(" ") 
dlong = dlong.split(" ") 

如果您还没有在任何地方导入 getcords 函数,您可能会在这里遇到麻烦。

# Convert the coordinates 
lat = getcords(float(dlat[0]), float(dlat[1]), float(dlat[2]), dlat[3]) 
long = getcords(float(dlong[0]), float(dlong[1]), float(dlong[2]), dlong[3]) 

另外,我建议不要使用 long 作为变量名,因为它是 int 类型。

In [98]: long? 
Type:       type 
String Form:<type 'long'> 
Namespace:  Python builtin