meteor typeahead addresspicker google未定义错误
我正在尝试实现votercircle:meteor typeahead addresspicker包。我已经将它添加到库中,但是当我创建一个新的地址选择器时 下面的代码来自示例,但似乎不起作用。感谢您的帮助 在我的路由文件中,我有以下设置来加载依赖项meteor typeahead addresspicker google未定义错误,meteor,typeahead.js,Meteor,Typeahead.js,我正在尝试实现votercircle:meteor typeahead addresspicker包。我已经将它添加到库中,但是当我创建一个新的地址选择器时 下面的代码来自示例,但似乎不起作用。感谢您的帮助 在我的路由文件中,我有以下设置来加载依赖项 Router.route('/drivers',{ path:'/drivers', template:'driversTemplate', onBeforeAction: function(){ var A =
Router.route('/drivers',{
path:'/drivers',
template:'driversTemplate',
onBeforeAction: function(){
var A = IRLibLoader.load('http://ajax.googleapis.com/ajax/libs/jquery/2.0.2/jquery.min.js');
var B = IRLibLoader.load('http://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false&libraries=places');
if(A.ready() && B.ready()){
console.log("Loading Googles JS Scripts");
this.next();
}
}
});
下面是我如何使用地址选择器的版本1.0.0实现它的。请参阅下面关于软件包版本的说明 设置:
meteor create 33273220
cd 33273220
meteor add votercircle:meteor-typeahead-addresspicker@=1.0.0
meteor add iron:router
33273220.html:
<head>
<title>33273220</title>
<script src="//maps.googleapis.com/maps/api/js?v=3.exp&sensor=false&libraries=places"></script>
</head>
<body>
</body>
<template name="main">
{{> yield}}
</template>
<template name="hello">
Address: <input id="myAddressField" name="myAddressField" type="text" size="50">
</template>
然后添加一些css,使typeahead看起来很不错。您可以使用meteor typeahead软件包演示中提供的css:
或至少:
.tt-dropdown-menu{
background-color: #eeeeee;
}
.tt-suggestion:hover {
color: #fff;
background-color: #0097cf;
}
注意:
使用votercircle:meteor typeahead的1.0.0版本,addresspicker将引入sergeyt:typeahead的0.10.5_14版本。这种组合与我提供的代码配合使用。使用最新版本的votercircle:meteor typeahead addresspicker(截至回答时为1.0.1)将引入sergeyt:typeahead的0.11.1_6版本。当我更新软件包版本时,这种组合对我不起作用。看起来AddressPicker依赖于另一个软件包-不管它定义了什么
google
。您可能需要联系软件包开发人员以获得解决方案。我已经在一个项目中使用了该软件包,它可以正常工作。你有没有包括谷歌地图?(这里您需要遵循步骤1:)我是meteor的新手,从未添加过包中没有的外部脚本。添加外部脚本的最佳方法是什么。我原以为这些都是用包装纸处理的。在这种情况下,我只是添加了谷歌的两个脚本还是全部4个脚本?我尝试了其他一些方法。仍然并没有到达那个里,我已经用当前代码和当前错误的图片更新了我的原始问题。非常感谢您的帮助,正在解决此问题。
if (Meteor.isClient) {
Template.hello.onRendered(function(){
addressPicker = new AddressPicker();
$('input[name="myAddressField"]').typeahead(null, {
displayKey: 'description',
source: addressPicker.ttAdapter()
});
});
}
Router.configure({
layoutTemplate: "main"
});
Router.route('/', function(){
this.render('hello');
});
.tt-dropdown-menu{
background-color: #eeeeee;
}
.tt-suggestion:hover {
color: #fff;
background-color: #0097cf;
}