我正在處理儀表板上的簡單地圖,該地圖註冊單擊事件並將位置保存到集合中,並且還會在單擊的位置上創建標記。但是,只有點擊的位置纔會被保存,並且標記不會顯示。這裏是我的代碼如下如何在流星中添加osm座標到我的收藏
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
}
});
});
請誰能幫助
我刪除了你的用戶ID和訪問令牌,因爲他們似乎是敏感 –
這很可能與範圍在哪裏定義了map。嘗試在全局範圍內聲明'var map = null;',然後用'map = L.map..'替換'var map = L.map..'。 –
感謝基督徒刪除我的用戶ID和訪問令牌,我不知道如何逃脫我。將嘗試建議的步驟。 – UncleT