ฉันกำลังมองหาวิธีแสดงข้อความบนแผนที่แผ่นพับโดยใช้เครื่องหมายหรืออย่างอื่นโดยไม่แสดงไอคอนใด ๆ ฉันต้องการแสดงข้อความเท่านั้นและสามารถจัดรูปแบบและหมุนได้ ... ข้อเสนอแนะใด ๆ
ฉันกำลังมองหาวิธีแสดงข้อความบนแผนที่แผ่นพับโดยใช้เครื่องหมายหรืออย่างอื่นโดยไม่แสดงไอคอนใด ๆ ฉันต้องการแสดงข้อความเท่านั้นและสามารถจัดรูปแบบและหมุนได้ ... ข้อเสนอแนะใด ๆ
คำตอบ:
ฉันแก้ไขปัญหาของฉันโดยใช้คุณสมบัติ Leaflet L.DivIcon ที่แสดงถึงไอคอนที่มีน้ำหนักเบาสำหรับเครื่องหมายที่ใช้องค์ประกอบ div ง่าย ๆ แทนภาพ ... เครื่องหมายเหล่านี้มี html และตัวเลือก className ที่อนุญาตให้ฉันสร้างป้ายกำกับด้วย css drived รูปแบบ ...
การปรับปรุงสำหรับใบปลิว 1.0:ในฐานะของแผ่นปลิว 1.0 ปลั๊กอิน Leaflet.labelเป็น depracated L.Tooltip
ขณะที่มันได้รับการรวมกับแกนใบปลิวเป็น ไม่จำเป็นต้องรวมสคริปต์ต้นฉบับและไวยากรณ์มีการเปลี่ยนแปลงเล็กน้อย ตัวอย่างการใช้งาน:
var marker = new L.marker([39.5, -77.3], { opacity: 0.01 }); //opacity may be set to zero
marker.bindTooltip("My Label", {permanent: true, className: "my-label", offset: [0, 0] });
marker.addTo(map);
CSS สไตล์อาจนำไปใช้กับชั้นเรียนเช่นเดียวกับก่อน
.my-label {
position: absolute;
width:1000px;
font-size:20px;
}
นอกจากนี้ยังปรากฏว่าความทึบของตัวทำเครื่องหมายอาจตั้งเป็น 0 อย่างสมบูรณ์
<script src="scripts/leaflet.label.js"></script>
ด้วยปลั๊กอิน Leaflet Label ฉลากจะเชื่อมโยงโดยตรงกับเครื่องหมาย แต่คุณสามารถตั้งค่าความทึบของเครื่องหมายได้เกือบเป็นศูนย์ดังนั้นจะเห็นเฉพาะป้ายกำกับเท่านั้น (หากคุณตั้งค่าความทึบของเครื่องหมายเป็น 0 ป้ายกำกับที่เกี่ยวข้องจะหายไปเช่นกัน)
var marker = new L.marker([39.5, -77.3], { opacity: 0.01 });
marker.bindLabel("My Label", {noHide: true, className: "my-label", offset: [0, 0] });
marker.addTo(map);
จากนั้นคุณสามารถใช้ CSS เพื่อจัดรูปแบบป้ายผนึกตามที่เห็นสมควร:
.my-label {
position: absolute;
width:1000px;
font-size:20px;
}
L.Tooltip
ภายใน onEachFeature ได้รับข้อผิดพลาด: "Uncaught TypeError: ล้มเหลวในการเรียกใช้ 'appendChild' บน 'Node': พารามิเตอร์ 1 ไม่ใช่ประเภท 'Node'
.toString()
ในตอนท้าย marker.bindTooltip(feature.properties['prabhag_number'].toString(), {...
คุณสามารถเริ่มต้นที่นี่ด้วยปลั๊กอินแผ่นพับนี้ อาจสร้างหรือแก้ไขเครื่องหมายตามความต้องการของคุณ ข้อความมาจากคุณลักษณะของคุณลักษณะหรือไม่
marker.bindTooltip("text here", { permanent: true, offset: [0, 12] });
มันใช้งานได้สำหรับฉัน