我希望能够根据存储在Mongo集合中的坐标来设置Google地图的中心。
我使用Meteor作为框架。在我的Template.Home.helpers中,我有以下函数来获取坐标:
memcpy(&buffer_copy, buffer + sizeof(struct ether_header), sizeof(struct ip));
struct ip *iphdr = &buffer_copy;
iphdr->ip_v;
etc.
如何将此值传递到此mapOptions函数中,同样位于同一模板助手中:
mapCenter: function () {
return (this.map); //returns -37.8136, 144.9631
}
我可以将mapCenter存储为变量并将其放在mapOptions函数的中心吗?
答案 0 :(得分:0)
四个基本选项:
会话变量示例:
mapCenter: function () {
Session.set('coordinates',this.map);
return (this.map); //returns -37.8136, 144.9631
}
mapOptions: function() {
// Make sure the maps API has loaded
if (GoogleMaps.loaded()) {
// Map initialization options
return {
var coord = Session.get('coordinates');
center: new google.maps.LatLng(coord.latitude,coord.longitude),
zoom: 8
};
}
}
此方法有一些限制,但是因为 Session 变量的范围是全局的。如果用户使用多个地图打开了多个选项卡,那么最终可能会使所有地图都相同。然后closure可能会更好。