লিফলেট দিয়ে আমি কীভাবে মানচিত্রের সামগ্রীর বাইরে নিয়ন্ত্রণ রাখতে পারি তা আমাকে কেউ বলতে পারেন?
এই ক্ষেত্রে, আমি কেবল মানচিত্রের অবজেক্টের বাইরে লেয়ার সুইচ নিয়ন্ত্রণ রাখতে চাই।
লিফলেট দিয়ে আমি কীভাবে মানচিত্রের সামগ্রীর বাইরে নিয়ন্ত্রণ রাখতে পারি তা আমাকে কেউ বলতে পারেন?
এই ক্ষেত্রে, আমি কেবল মানচিত্রের অবজেক্টের বাইরে লেয়ার সুইচ নিয়ন্ত্রণ রাখতে চাই।
উত্তর:
লিফলেটটি মানচিত্রের পোর্টালটি বাস্তবায়ন গোপন করার জন্য অনেকগুলি হাত-avingেউ করে but
getContainer
ফাংশন শুধু আপনার কি প্রয়োজন। এটি কেবল মার্কআপ নয়, আসল এইচটিএমএল নোডটি দেয়।
এটি তখন নোড আন-চাইল্ডিং (?) এর মতোই সহজ এবং জাভাস্ক্রিপ্টের কয়েকটি লাইন সহ একটি নতুন পিতামাতার কাছে এটি অর্পণ করে।
কাজের উদাহরণ এবং মন্তব্যগুলি (এবং একটি কিক-গাধা টাইলসেট)!
http://codepen.io/romahicks/pen/ONmPmp
কোড
//Create Layer
var baseMap = new L.TileLayer('http://{s}.tiles.mapbox.com/v3/gvenech.m13knc8e/{z}/{x}/{y}.png' );
var baseMapIndex = {
"Map": baseMap
};
// Create the map
var map = new L.map('map', {
center: new L.LatLng(41.019829, 28.989864),
zoom: 14,
maxZoom: 18,
zoomControl: false, // Disable the default zoom controls.
layers: baseMap
});
// Create the control and add it to the map;
var control = L.control.layers(baseMapIndex);
control.addTo(map);
// Call the getContainer routine.
var htmlObject = control.getContainer();
// Get the desired parent node.
var a = document.getElementById('new-parent');
// Finally append that node to the new parent, recursively searching out and re-parenting nodes.
function setParent(el, newParent)
{
newParent.appendChild(el);
}
setParent(htmlObject, a);
আপনার অবশ্যই অবশ্যই সমস্ত বাচ্চাদের মধ্য দিয়ে যেতে হবে এবং তাদের তাদের পিতামাতার কাছে পুনরায় অর্পণ করতে হবে। একটি সাধারণ পুনরাবৃত্ত লুপের জন্য দ্বিতীয় উত্তরটি দেখুন।
/programming/20910147/how-to-move-all-html-element-children-to-another-parent-using-javascript
a.appendChild(control.onAdd(map))
যথেষ্ট হতে হবে। আরও দেখুন stackoverflow.com/questions/36041651/...
L.control.layers
।
সহজ ব্যবহারের উপায় আমি ব্যবহার করেছি:
এইচটিএমএল ট্যাগের নীচে যুক্ত করুন, যেখানে আপনি লিফলেট নিয়ন্ত্রণগুলি সরিয়ে নিতে চান:
<div id="custom-map-controls"></div>
জাভাস্ক্রিপ্ট কোড:
$(document).ready(function () {
var newParent = document.getElementById('custom-map-controls');
var oldParent = document.getElementsByClassName("leaflet-top leaflet-right")
while (oldParent[0].childNodes.length > 0) {
newParent.appendChild(oldParent[0].childNodes[0]);
}
});