我正在尝试制作基于地图的应用程序,但我遇到了一些困难.我一直在使用的原始代码为每个标记添加了一个单独的InfoWindow,但我想使用单个InfoWindow来获取它,我可以动态设置内容.
但是,我似乎仍然对JavaScript的行为有点模糊,因为每次点击任何标记时,InfoWindow会弹出最后一个标记,并且警报会指示最后一个条目的ID locations.
短片,问题突出显示:
function plotLocations(my_locations) {
locations = my_locations;
for(var i=0; i<locations.length; i++) {
var pos = new google.maps.LatLng(locations[i].loc_lat, locations[i].loc_lng);
var icon = new google.maps.MarkerImage(
"http://goo.gl/TQpwU",
new google.maps.Size(20,32),
new google.maps.Point(0,0),
new google.maps.Point(0,32)
);
var marker = new google.maps.Marker({
map: map,
position: pos,
animation: google.maps.Animation.DROP,
icon: icon
});
// ! -- trouble right here -- ! //
google.maps.event.addListener(marker, 'click', function() {
setPopInfo(pos, i);
});
// ! -- ------------------ -- ! //
}
}
function setPopInfo(pos, index) {
pop_info.setPosition(pos);
pop_info.open(map); …Run Code Online (Sandbox Code Playgroud) 我要说,我需要过滤一个二维数组
[
[1, 'eth0', 'description', ...],
[2, 'virbr0', 'description', ...],
[3, 'qvb25f982e4-ae', 'description', ...],
[4, 'tap25f982e4-ae', 'description', ...],
...
]
Run Code Online (Sandbox Code Playgroud)
基本上我想过滤掉某些接口名称.我过滤掉接口,q如下所示:
info = [i for i in info if not i[1].startswith('q')]
Run Code Online (Sandbox Code Playgroud)
但是我需要能够定义要忽略的接口前缀列表,例如:
exclude = ['q','tap']
info = [i for i in info if not i[1].startswith(exclude)]
Run Code Online (Sandbox Code Playgroud)
但我似乎无法弄清楚这样的逻辑.
谁能帮忙.我正在尝试使用mysql_real_escape_string支持传递给PHP的内部消息传递服务的值,但我必须在某处获取语法错误,因为这些值没有插入到数据库中.我四处寻找教程,帮助等,但努力做到正确.
我正在使用的代码如下.正确输入未转义的值($ email,$ from,$ time),但其他值只是输入空白.
<?php
session_start();
$conn = mysqli_connect('localhost', 'username', 'password', 'dbname');
$email=$_SESSION['email'];
$to = $_POST ['touser'];
$toemail = $_POST['touseremail'];
$from = $_SESSION['name'];
$message = $_POST['message'];
$subject = $_POST['subject'];
$time = time();
$query ="INSERT INTO messages
(to_user, to_email, subject, message, from_user, from_email, daterecord)
VALUES (
'" . mysql_real_escape_string($conn, $to) . "',
'" . mysql_real_escape_string($conn, $toemail) . "',
'" . mysql_real_escape_string($conn, $subject) . "',
'" . mysql_real_escape_string($conn, $message) . "',
'$from', '$email', '$time')";
$send = $conn -> query($query);
echo "Message …Run Code Online (Sandbox Code Playgroud) 你好,这让我发疯了.我不能让这个查询与WHERE子句一起使用.它没有它.我尝试了一切.我在这里查看过几十个网站和几十个问题.我看不出这个查询有什么问题.但每次我尝试使用WHERE子句时,它都会给我这个错误:
1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE `cond` = '1'' at line 4
Run Code Online (Sandbox Code Playgroud)
我用空格尝试过它,没有单引号和没有,我试过mysqli.我只是无法弄清楚问题是什么.
这是我目前的代码:
$sql = <<<SQL
SELECT *
FROM `master_inv`
ORDER BY `sku`
WHERE `cond` = '1'
SQL;
Run Code Online (Sandbox Code Playgroud) 这是我的代码似乎工作正常,但它看起来不正确.我知道我很容易受到注射.只是想知道这是否是比较两个密码的最佳方式?
if (empty($_POST['password'])) {
$errors[] = "Please enter a password";
} else {
if ($_POST['password'] != $_POST['password1']) {
$errors[] = "Your password did not match the confirmed password";
} else {
$p = $_POST['password'];
}
}
Run Code Online (Sandbox Code Playgroud) 注意:我知道现有re模块不支持这一点,我使用的是将来要更换的新regex模块re.
我需要构建一些复杂的正则表达式,但我也希望这些表达式可以维护.我不希望任何人在几个月后回到这个代码,并且不得不花费数天时间来解开或重写表达式,包括我自己.:P
我以前用过一些PCRE语法来实现这一点,例如:
/
(?(DEFINE)
(?<userpart> thomas | richard | harold )
(?<domainpart> gmail | yahoo | hotmail )
(?<tld> com | net | co\.uk )
(?<email> (?&userpart)@(?&domainpart)\.(?&tld) )
)
^ To: \s+ .* \s+ < (?&email) > $
/ix
Run Code Online (Sandbox Code Playgroud)
将匹配线: To: Tom Selleck <thomas@gmail.com>
注意2:我不是要匹配电子邮件地址,这只是一个例子.
我看到regex模块已经实现了递归模式,并命名了递归模式,但它似乎不喜欢(?(DEFINE) ... )语法,给出了错误unknown group at position 10.
是否可以在Python中预先定义这样的命名模式?
Windows 8 - 当我尝试拉伸窗口时,它只是跳到屏幕的左侧,仍然只是部分显示git bash窗口左侧的单词或代码.