場景
Leaflet中自定義marker的icon圖標:
https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/122322788
在上面自定義marker的基礎之外,還可以通過給marker添加popup彈窗
並設置popup的content達到自定義彈窗內容的效果。
注:
博客:
https://blog.csdn.net/badao_liumang_qizhi
關注公眾號
霸道的程序猿
獲取編程相關電子書、教程推送與免費下載。
實現
1、添加圖片標注
//添加圖片標注 var Marker = L.marker([36.09, 120.35]).addTo(map);
2、設置點擊事件
Marker.on('click', function () { //添加Popup標注,顯示一段文字和一幅圖片 var popup = L.popup().setLatLng([36.09, 120.35]).setContent('<div style="width:268px;font-size:16px">小區一隅,您可以在此盡享美好時光...</div> <img style="width:268px;" src="./images/timg.jpg" />').openOn(map); });
3、完整示例代碼
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>leaflet添加標注popup</title> <link rel="stylesheet" href="https://unpkg.com/leaflet@1.7.1/dist/leaflet.css" /> <style> html, body, #map { padding: 0; margin: 0; width: 100%; height: 100%; overflow: hidden; } </style> </head> <body> <div id="map"></div> <script type="text/javascript" src="https://unpkg.com/leaflet@1.7.1/dist/leaflet.js"></script> <script type="text/javascript"> var map = L.map('map').setView([36.09, 120.35], 13); L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', { attribution: '' }).addTo(map); //添加圖片標注 var Marker = L.marker([36.09, 120.35]).addTo(map); /**鼠標單擊事件 * @param {string} type 事件類型(鼠標單擊) * @param {function} fn 事件觸發后的響應函數 */ Marker.on('click', function () { //添加Popup標注,顯示一段文字和一幅圖片 var popup = L.popup().setLatLng([36.09, 120.35]).setContent('<div style="width:268px;font-size:16px">小區一隅,您可以在此盡享美好時光...</div> <img style="width:268px;" src="./images/timg.jpg" />').openOn(map); }); </script> </body> </html>