我刚刚开始创建一个Meteor应用并添加了dburles:google-maps
包,我似乎一直在按照他在教程中指示的步骤来实现它,但我收到了错误Template not defined
,我的代码如下:
html的
<head>
<meta charset="utf-8">
<title>project-j</title>
<meta name="description" content="Let's see where it takes us">
<meta name="viewport" content="user-scalable=no, initial-scale=1, minimal-ui, maximum-scale=1, minimum-scale=1" />
</head>
<body>
{{> map}}
</body>
<template name="map">
<div class="map-container">
{{> googleMap name="map" options=mapOptions}}
</div>
</template>
的.js
Meteor.startup(function() {
GoogleMaps.load();
});
Template.map.helpers({
mapOptions: function() {
if (GoogleMaps.loaded()) {
return {
center: new google.maps.LatLng(-37.8136, 144.9631),
zoom: 8
};
}
}
});
任何想法,我检查了完成的回购,代码似乎与我的1:1 ...?
答案 0 :(得分:1)
您需要将客户端代码放在/client
文件夹中或包含在Meteor.isClient
的支票中:
if (Meteor.isClient) {
Meteor.startup(function() {...});
Template.map.helpers({ ... });
}
如果没有,Meteor将在客户端 和 服务器上运行您的代码,并且未在服务器上定义模板。
找到有关构建Meteor应用的更多信息