注意:我正在使用Google Maps API的v3
我正在尝试为我放在地图上的每个标记添加一个信息窗口.目前我正在使用以下代码执行此操作:
for (var i in tracks[racer_id].data.points) {
values = tracks[racer_id].data.points[i];
point = new google.maps.LatLng(values.lat, values.lng);
if (values.qst) {
var marker = new google.maps.Marker({map: map, position: point, clickable: true});
tracks[racer_id].markers[i] = marker;
var info = new google.maps.InfoWindow({
content: '<b>Speed:</b> ' + values.inst + ' knots'
});
tracks[racer_id].info[i] = info;
google.maps.event.addListener(marker, 'click', function() {
info.open(map, marker);
});
}
track_coordinates.push(point);
bd.extend(point);
}
Run Code Online (Sandbox Code Playgroud)
问题是,当我点击一个标记时,它只显示添加的最后一个标记的信息窗口.另外要清楚的是,信息窗口出现在最后一个标记旁边,而不是单击标记.我想我的问题是在addListener部分,但不是postitive.有任何想法吗?
我在更新MySQL数据库中的某行时遇到了一些麻烦.这是我正在尝试运行的代码:
import MySQLdb
conn=MySQLdb.connect(host="localhost", user="root", passwd="pass", db="dbname")
cursor=conn.cursor()
cursor.execute("UPDATE compinfo SET Co_num=4 WHERE ID=100")
cursor.execute("SELECT Co_num FROM compinfo WHERE ID=100")
results = cursor.fetchall()
for row in results:
print row[0]
print "Number of rows updated: %d" % cursor.rowcount
cursor.close()
conn.close()
Run Code Online (Sandbox Code Playgroud)
我运行这个程序时得到的输出是:
4
更新的行数:1
它似乎正在工作,但如果我从MySQL命令行界面(CLI)查询数据库,我发现它根本没有更新.但是,如果从CLI我输入UPDATE compinfo SET Co_num=4 WHERE ID=100;
数据库按预期更新.
我的问题是什么?我正在Windows机器上运行带有MySQL 5.1.30的Python 2.5.2.
我很难理解为什么
#include <iostream>
using namespace std;
int fib(int x) {
if (x == 1) {
return 1;
} else {
return fib(x-1)+fib(x-2);
}
}
int main() {
cout << fib(5) << endl;
}
Run Code Online (Sandbox Code Playgroud)
导致分段错误.一旦x下降到1不应该最终返回?
将C风格的字符串转换为C++的最佳方法是什么std::string
?过去我用stringstream
s 做过.有没有更好的办法?
我有一个数据字符串,格式如下:xpos-ypos-zoom(即8743-12083-15)我想拆分并存储在变量xpos,ypos和zoom中.因为我需要用这些数字进行一些计算,所以我想从头开始将它们转换为整数.目前,我这样做的方式是使用以下代码:
file = '8743-12083-15'
xval, yval, zoom = file.split("-")
xval = int(xval)
yval = int(yval)
Run Code Online (Sandbox Code Playgroud)
在我看来应该有一个更有效的方法来做到这一点.有任何想法吗?
当你做这样的事情"test" in a
哪里a
是一个列表并蟒蛇做了顺序搜索在名单上,它创建一个哈希表表示,以优化查询?在我需要这个我会在应用程序的列表上做了很多的查找它,最好的办法是做这样的事情b = set(a)
,然后"test" in b
?另请注意,我将拥有的值列表不会有重复数据,我实际上并不关心它的顺序; 我只需要能够检查是否存在值.
我正在尝试通过POST发布JSON对象.我试着这样做:
import json, urllib, urllib2
filename = 'test.json'
race_id = 2530
f = open(filename, 'r')
fdata = json.loads(f.read())
f.close()
prefix = 'localhost:8000'
count = 0
for points in fdata['positions'].iteritems():
print '--' + str(count) + '--------'
url = 'http://'+prefix+'/api/points'
parameters = {'point_data': json.dumps(points), 'race_id': race_id}
data = urllib.urlencode(parameters)
print data
request = urllib2.Request(url, data)
response = urllib2.urlopen(request)
count += 1
break;
print 'Finished adding points'
Run Code Online (Sandbox Code Playgroud)
然后在另一端(我正在使用Google App Engine)接收数据:
point_data = json.load(self.request.get('point_data'))
Run Code Online (Sandbox Code Playgroud)
但是我收到以下错误:
ERROR 2010-06-30 15:08:05,367
__init__.py:391] 'unicode' object has no attribute …
Run Code Online (Sandbox Code Playgroud) 我有一个元组元组,我想把每个元组中的第一个值放入一个集合中.我认为使用map()将是一个很好的方法,这是唯一的事情是我找不到一个简单的方法来访问元组中的第一个元素.所以例如我有元组((1,), (3,))
.我想做一些像set(map([0], ((1,), (3,))))
(在哪里[0]
访问第0个元素)得到一个包含1和3的集合.我能想到的唯一方法是定义一个函数:def first(t): return t[0]
.无论如何在一行中执行此操作而不必声明函数?
关于模型究竟是什么,我有点困惑.我知道它适用于来自数据库等的数据.它可以用于其他任何东西吗?例如,一个身份验证系统,在用户注册时向用户发送激活电子邮件.哪个是最适合放置电子邮件代码的地方?模型是否合适......或者更好地放在视图,控制器等中?
有没有办法在BeautifulSoup解析树上进行DFT?我正在尝试做一些事情,比如从根开始,通常,获取所有子元素,然后为每个子元素获取他们的孩子等,直到我点击终端节点,此时我将建立我的方式备份树.问题是我似乎找不到允许我这样做的方法.我找到了findChildren方法,但这似乎只是将整个页面放在一个列表中多次,每个后续条目都减少了.我可能能够使用它来进行遍历,但是除了列表中的最后一个条目之外,它似乎没有任何方法可以将条目标识为终端节点.有任何想法吗?