私は、ユーザの現在の位置と私のアプリ内での位置の2つのマーカーを持っています。
ユーザーの現在地のマーカーは地図上に描画されますが、投稿の位置に属するマーカーは描画されません。
投稿には、緯度と経度のペアの情報が含まれています。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 <--
緯度と経度の値にアクセスして地図上にマーカーをプロットする方法がありますか?
L.markerとは?これはあなたのコードで利用可能な機能ですか?そのコードを表示できますか? – notionquest
L.markerはリーフレットです。私はこのようにユーザーの現在の位置をプロットするためにそれを使用し、それは正常に動作します。 L.marker([緯度、経度])。addTo(map).bindPopup( "ここにいます")。openPopup(); – eugeneoei