Javascript Meteor CityWorks演示协助

Javascript Meteor CityWorks演示协助,javascript,mongodb,google-maps,meteor,Javascript,Mongodb,Google Maps,Meteor,参考Josh Owens的CityWorks演示,我已经让get current location正常工作,我的应用程序没有崩溃,但当我检查Robomongo时,places集合没有填充数据库 不过,我完全复制了代码: Places = new Mongo.Collection('places'); Meteor.methods({ 'fetchNearbyLocations': function(coords) { if (Meteor.isServer) {

参考Josh Owens的CityWorks演示,我已经让get current location正常工作,我的应用程序没有崩溃,但当我检查Robomongo时,places集合没有填充数据库

不过,我完全复制了代码:

Places = new Mongo.Collection('places');

Meteor.methods({
    'fetchNearbyLocations': function(coords) {
         if (Meteor.isServer) {
             results = HTTP.get("https://maps.googleapis.com/maps/api/place/nearbysearch/json? location=" + coords.latitude + "," + coords.longitude +  "&radius=500&types=food&key=AIzaSyCtfoCAldCEf8hXUlkVUd4UljqKR6W_aF4")
             console.log(results)
             _(results.data.results).each(function(loc) {
                 _.extend(loc, {loc: {type: "Point", coordinates:   [loc.geometry.location.lng, loc.geometry.location.lat]}})
                 Places.upsert({id: loc.id}, {$set: loc})
             });
         }
     }
 });
关于我当然会更改的API密钥,应该使用的是具有IP锁定的服务器应用程序的密钥还是具有引用的浏览器应用程序的密钥

我确实删除了autopublish,但不确定这是否会有所不同

此外,是否需要在项目中的某个地方向JS文件中添加如下内容

<script type="text/javascript" src="http://maps.google.com/maps/api/js?           sensor=false">   </script>
非常感谢您的帮助。

关于API密钥

这是浏览器应用程序的关键

在Robomongo中查找收藏

如果你只是简单地遵循Josh的代码,这些收藏应该会出现在Robomongo中。 您正在本地主机上运行吗? 例如,如果您在端口3000上,您的数据库在端口3001上,您必须将其输入到新的Robomongo连接中

然后看看你的新连接>流星>收藏>你应该会看到一些地方。单击它,您将看到db.places.find的50个条目,或者您选择在代码中返回多少个位置

若要进行其他检查,只需在OSX上的Chrome中进入浏览器的控制台option+command+j并键入Places.find.fetch,您将返回50个对象

或者在终端中,在应用程序的目录中键入meteor mongo以进入mongo shell,然后键入db.places.find.pretty以查看您的集合是否正确填充

如果这些都有效,那么我认为这意味着你没有正确地观察机器人,但你会发现这真的很容易

添加脚本

对GoogleMaps的http调用已经在fetchNearbyLocations方法中,所以据我所知,这就足够了。 谷歌地图不再需要传感器参数


希望有帮助

嗨,我做了一个精确的git克隆,并使用了建议的密钥,现在它正在我这边工作。谢谢你的帮助。例如,如果我想返回某个范围内的电影院或另一个范围内的酒吧,我将如何创建以相同方式填充数据库的其他集合?我不需要结果显示在地图上。谢谢。大家好,查询是在api键中进行的。看看你钥匙的后半部分,你会看到上面写着食物:&radius=500&types=food&key=AIzaSyCtfoCAldCEf8hXUlkVUd4UljqKR6W_af4再次感谢你的反馈。我现在一直收到这个错误:statusCode:200,这个API项目没有授权使用这个API。请确保在API的控制台中激活此API