ROB BOWDEN:你好。 我抢。 我希望你准备好拿起什么 我掉下或放下, 还是让我们开始吧。 我们需要这样的第一件事 要做的就是拿起。 现在,拿起将被移除 从谷歌乘客的图标 在地图右下角,并从 在谷歌地球中的中心 在屏幕上。 因此,为了消除这些 图标,我们需要有 他们引用的地方。 但目前,该填充功能 刚刚摆脱他们。 因此,我们将不得不修改 填充,以保持他们周围。 我们现在看到的第一件事情是,我们 有一个全球性的乘客阵列。 所以我们要使用全球的 乘客数组中填充。 在填充,我们看到,我们正在循环 在我们所有的乘客。 而正是这种循环的建立 放置标志为谷歌地球和 标记为谷歌地图。 所以现在我们修改 填充是到这里来。 因此,我们要添加到我们的乘客 这个数组对象,是保持 周围的标记和标记的地方,我们只是 随着房子和创建 乘客的名字。 所以这是它的填充。 现在,我们需要看看回升。 所以在回暖,我们再次去 遍历所有的乘客。 但现在它是我们全球 乘客阵列。 在这里,我们所看到的那么好,也 我们已经拿起这乘客? 因为如果我们拿起这 乘客,我们到底看到, 我们要设置标记和 地点标记为null,因为他们没有 在谷歌地图更长。 所以,如果我们已经拿起这 乘客那么我们只是要 继续下一个乘客。 否则,我们检查,看是否能 乘客的房子里面 房子的数组。 这是我们需要确保检查 我们不拿起作为大一 规范说。 因此,如果乘客是一个新生, 我们要 继续下一个乘客。 一旦我们确认,这是一个 乘客我们应该拿起, 我们现在要检查的纬度 和乘客的经度和看 如果这是15英尺范围内 的班车。 如果是这样的话,我们其实是想 拿起这个乘客。 所以,我们整合了所有的座位 我们穿梭寻找,看是否 有可用的点 对于乘客。 如果一个座位是空, 这是一个备有现货。 因此,我们的乘客加入到座位上。 我们记得,我们拿起 乘客因此,在年底,我们可以 宣布如果我们真的 没有接任何人了。 我们记得,我们坐在这 乘客因为如果我们设法让 通过不整班车 座位的乘客,那么我们就需要 宣布,我们出门在外的席位。 然后我们会删除自己的位置 从谷歌地球标记。 我们从谷歌地图中删除自己的标记, 我们的乘客里面设置' 数组的地方标记和标记 为null,因为我们之前所说的。 然后就是这样。 该乘客已就位。 一旦我们做到了这一点为所有乘客 15英尺范围内的 班车,我们需要rechart。 所以,图的是什么事情,以显示 乘客座位在这里。 所以,现在,让我们来看看图表。 图里面的,我们要成为 构造的HTML图表。 因此图表是要 是一个有序列表。 然后,我们将遍历所有的 该席位在我们的班车。 因此,如果这个特定的座位是空,即 意味着我们想要一个列表项 表明它是一个空的容易。 否则,如果它不为null,那么我们希望 一个列表项,是要显示 乘客的姓名和 乘客的房子 这是在这个位子。 一旦我们遍历所有的 座椅那么我们闭上了我们的有序列表 并使用jQuery选择图表的div 和替换它的HTML与我们的新 有序列表。 就是这样的图表。 所以最后一件事是落。 现在,落将是 非常相似的回升。 而不是遍历所有的 乘客,我们要遍历 所有的班车座位。 因此,在循环穿梭席位,我们 看到的是这个特定的班车座位 不为null,在这种情况下,有 乘客在这个位子。 如果是这样的话,我们希望 抢纬度和 东经这个乘客。 因此,使用房子的数组,我们 要抢的房子 乘客在这个位子,然后抢 该特定房屋的纬度 同样的经度。 现在,我们再次用距离来看看 在那所房子是30英尺内我们。 如果是这样的话,他们想要设定 这个座位为null,因为乘客 被取消了,并且增量, 一名乘客下车。 因此,在年底,如果没有人 下车,我们宣布,任何人 要在这里下车。 最后,我们需要rechart使 我们展示新的空座位。 现在,你只需要实现 一些额外的功能。 现在,有很多你可以 从选择。 但在我们的例子中,我们实施的瞬移, 飞行,并加快和 加快了。 因此,让我们来看看这些。 首先,让我们来看看 在加快功能。 所以在我们的情况下,在击键 功能,在这里我们已经处理 所有这些键的,我们也要去 认识X和哪些我们指定Z。 这些字符要 导致航天飞机的速度,以 增加和减少。 所以请注意,我们把一个绑定就如何 高,如何低的速度可 实际上去,因为我们不希望 航天飞机是太快了。 而且我们也不想航天飞机 速度到零或可能 甚至为负,这将导致 在一些奇怪的行为。 就是这样超速 时慢了下来。 现在,让我们来看看飞。 所以请记住,飞功能 要求您输入科纳米代码。 所以在顶部,我们看到我们有一些 全局变量,科乐美码是 这只是跟踪的一个数组 需要时,要输入的键 科乐美的代码。 有一个布尔刚刚表示 科乐美的代码是否已经 被输入。 然后还有的索引 科纳米代码数组 我们目前正处在。 因此,如果用户已经输入了三个 科纳米码字符 然后索引会指向 在阵列中的第四事情, 第三个指标。 利用这一点,我们再一次会 看击键。 而在关键的行程,我们在这里看到的,如果 科纳米代码已不是 进入,那么我们希望看到的是 键时输入的内容我们 从目前预期 科纳米码数组。 如果是这样的话,那么 我们增加我们的索引。 如果用户键入向上则指数 是要去的。 然后,用户将输入了一遍, 索引变为2。 然后,他们会输入了下来, 它会去到三个。 如果他们输入Q,它会重置为 零,因为他们不匹配 预期值。 现在,如果他们设法打通 整个数组,那么他们已经进入了 KONAMI码。 在这种情况下,现在进入小浪 诚然,我们看到这儿,如果 KONAMI输入了,我们接受了两个新的 键,C和E,所有这些都行 置的向下飞行和飞行 向上国中穿梭。 所以,已经为你存在。 你只需要采取 利用它们。 这就是它的飞行。 最后,我们已经瞬移。 所以内部的HTML中,我们看到 我们增加了一个输入框和一个 瞬移按钮。 该对话框有ID地址,和按钮 有一个ID瞬移按钮。 现在是一个恼人的小细节是, 如果我们不与事件做任何事 处理器然后,当我们尝试键入 有点像在输入框中, 而不是实际平了,我们的谷歌 地球将要移动到 离开因为A已经被注册 处理移动到左边。 所以在这里烦人的细节是, 当我们有一个键向下或向上键 事件的输入框里面,我们要 到event.stop传播是 只是要防止 滑动穿梭。 一旦这样处理,我们还需要添加 一个处理程序的瞬移按钮。 当我们点击瞬移按钮,我们 抢地址,这是当前 在输入框中的值,然后 我们称这个瞬移功能。 那么,瞬移 函数是什么样子? 好了,我们看到的第一件事情是我们 使用地理编码器。地理编码。 所以,那是什么? 那么,如果我们顶一下, 我们看到,我们有一个新的 全局变量,地理编码器。 这是一个全球性的参考 到地理编码服务。 现在,这是什么为我们做? 那么,在输入框中,我将是 进入像牛津33 街剑桥,马萨诸塞州。 但是,我们真的不能做 什么这一点。 我们希望将其转换成 纬度和经度。 而这正是地理编码服务 是要为我们做。 在initcb的底部,我们看到 我们有地理编码等于新 google.maps.geocoder它初始化 这个变量对我们。 做回瞬移。 我们看到,我们正在使用的地理编码器。 我们在地理编码的地址是 传递给瞬移功能, 从输入框被抓住了。 我们正在传递一个回调 这需要结果和状态。 我们需要检查每所以第一件事 google.maps的API文档。 GeocodingService。 地图 因此,我们必须检查状态 看它是否返回。 google.maps.GeocoderStatus.OK这 表明我们有一个有效的结果。 如果我们不这样做,那么我们得到的,没有做不到的。 这可能是一个无效的地址。 或API服务可能 关闭或谁知道? 假设我们有一个成功的结果,那么 我们要在抢位置 结果。 而我们要设置的谷歌地图 在右下角是 集中在该位置,并更新 公交地图,以该位置上。 现在我们需要更新 谷歌地球插件。 所以我们更新的纬度和 经度穿梭。 而且我们还需要更新 shuttle.localAnchorCartesian因为如果 你看看shuttle.js,你会看到, 这还跟踪纬度 和经度。 所以,如果我们不更新,我们有 原始的纬度和经度 存储隐藏在某处。 所以更新,现在,我们称之为 shuttle.updateCamera刷新 筛选并展示我们新的位置。 就是这样。 我的名字是罗布。 这是班车。