Я работаю над простой картой на приборной панели, которая регистрирует события кликов и сохраняет их в коллекции, а также создает маркер в выбранном месте. Однако только локации, которые были нажаты, сохраняются, а маркеры не отображаются. Вот мой код нижеКак добавить координаты osm в мою коллекцию в meteor
Template.osm.onRendered(function(){
var map = L.map('osm-container', {
center: [6.54, 3.33],
zoom: 13
});
var markers = {};
var id;
L.tileLayer('http://api.tiles.mapbox.com/v4/{id}/{z}/{x}/{y}.png?access_token={accessToken}', {
attribution: 'Imagery from <a href="http://mapbox.com/about/maps/">MapBox</a> — Map data © <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a>',
subdomains: 'abcd',
id: 'REMOVED',
accessToken: 'REMOVED'
}).addTo(map);
var coordinates = {};
map.on('click', function(event) {
var randm = Math.ceil(10000*Math.random());
var entry = Coordinates.insert({
lat: event.latlng.lat,
lng: event.latlng.lng,
seq: randm });
id = entry;
});
Coordinates.find().observe({
added: function (document) {
L.marker({ lat: Coordinates.find({_id:id},{lat:1, _id:0}),
lng: Coordinates.find({_id:id},{lng:1,_id:0}) },{
clickable : true,
draggable: true,
keyboard: true,
riseOnHover: true
}).addTo(map);
map.on('dragend', function(event) {
todo
});
// markers[id] = mark;
},
changed: function(newDocument, oldDocument) {
// todo;
},
removed: function (oldDocument) {
// todo
}
});
});
Пожалуйста, кто может помочь
Я удалил свой идентификатор пользователя и маркер доступа, так как они, казалось, чувствительным –
Это вполне возможно, связано с областью где определяется «карта». Попробуйте объявить 'var map = null;' в глобальной области, а затем замените 'var map = L.map..' на' map = L.map..'. –
Спасибо, Кристиан за удаление моего идентификатора пользователя и токена доступа, я не знаю, как это ускользнуло от меня. Попробуем рекомендации. – UncleT