2016-12-01 88 views
0

我想要有兩個標記,一個是用戶的當前位置,另一個是我的應用程序中發佈的位置。
用戶當前位置的標記被繪製在地圖上,而不是屬於帖子位置的標記。
帖子包含經緯度對的感興趣的地方的信息。地圖標記在ejs文件中的腳本標記中沒有顯示

我呈現的EJS視圖,後是這樣的:

router.get('/posts/:id', function(req,res) { 
    db.post.findOne({ 
    where: { id: req.params.id} 
    }).then(function(post) { 
    res.render('posts/post_detail', {post: post}) 
    }); 
}); 

post包含經緯度信息,我想訪問繪製在我的單張地圖的標記。我把腳本標記在這樣的EJS視圖的底部:

<script> 
    var post = <%- JSON.stringify(post) %>; 
    console.log(post.latitude); 
    console.log(post.longitude); 
    L.marker([post.latitude, post.longitude]).addTo(map); 
    console.log(map) 
</script> 

經度和緯度與在數據庫相同的值在控制檯上打印出來。我在其他地方使用了相同的L.marker代碼來在我的地圖上放置標記,並且它工作得很好,但在這種情況下不會。我越來越 -

Uncaught TypeError: t.addLayer is not a function error <--

是否有另一種方法可以訪問緯度和經度值在地圖上繪製標記?

+1

什麼是L.marker?這是您的代碼中可用的功能嗎?你可以顯示該代碼嗎? – notionquest

+0

L.marker是一個leafletjs的東西。我已經使用它來繪製用戶的當前位置,並且工作正常。 L.marker([latitude,longitude])。addTo(map).bindPopup(「You're here」)。openPopup(); – eugeneoei

回答

0

該映射未在該腳本標記的範圍內定義。