কিভাবে লিফলেট.জেএস এ মানচিত্র কেন্দ্র পরিবর্তন করতে হয়


111

নিম্নলিখিত কোডটি লিফলেট মানচিত্রের সূচনা করে। আরম্ভের ফাংশনটি ব্যবহারকারীর অবস্থানের ভিত্তিতে মানচিত্রকে কেন্দ্র করে। প্রারম্ভিক ফাংশনটি কল করার পরে আমি কীভাবে মানচিত্রের কেন্দ্রটিকে নতুন অবস্থানে পরিবর্তন করব?

function initialize() {
map = L.map('map');
L.tileLayer('http://{s}.tile.cloudmade.com/BC9A493B41014CAABB98F0471D759707/997/256/{z}/{x}/{y}.png', {
    maxZoom: 18,
    attribution: 'Map data &copy; <a href="http://openstreetmap.org">OpenStreetMap</a> contributors, <a href="http://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, Imagery © <a href="http://cloudmade.com">CloudMade</a>'
}).addTo(map);

map.locate({setView: true, maxZoom: 8});    
} 

উত্তর:


169

উদাহরণ স্বরূপ:

map.panTo(new L.LatLng(40.737, -73.923));

23
map.flyTo([40.737, -73.923], 8) আপনি যদি জুম করতে এবং পাশাপাশি প্রাণবন্ত করতে চান
মার্টিন বেলচার - এটওয়ার্ক

4
আমার ক্ষেত্রে অবশ্য panTo(), flyTo(), setView()- তাদের সব আমাকে নিতে শীর্ষ বাম মানচিত্রের, এবং সেন্টার।
মৃগাঙ্ক পাবাগী

আপনি ... আপনারা আমাদের দিনটি বাঁচান
মুনিব মীর্জা

128

আপনি এটি ব্যবহার করতে পারেন:

map.setView(new L.LatLng(40.737, -73.923), 8);

এটি কেবল আপনি কী আচরণ চান তার উপর নির্ভর করে। map.panTo()জুম / প্যান অ্যানিমেশন সহ লোকেশন প্যান করবে, map.setView()তত্ক্ষণাত্ নতুন ভিউটি পছন্দসই অবস্থান / জুম স্তরে সেট করুন।


4
আমি এটি পছন্দ করি কারণ আপনিও জুম স্তর পান যা খুব দরকারী।
মিঃ কনকোলাতো

2
এছাড়াও আপনি একটি অ্যারে হিসাবে স্থানাঙ্কগুলি পাস করতে পারেন: map.setView([40.737, -73.923], 8)বা একটি অবজেক্টmap.setView({lat:40.737, lng:-73.923}, 8)
লিওবেলিজুইয়ারডো

5
প্যানটো অ্যানিমেশন দেখায় নি, আমি ব্যবহার করিmap.setView(latlng, map.getZoom(), { animation: true });
ইভান ফেরার ভিলা

7

map.panTo();পয়েন্টটি বর্তমান দর্শনে থাকলে ব্যবহার কিছুই করতে পারে না। map.setView()পরিবর্তে ব্যবহার করুন।

আমার একটি পললাইন ছিল এবং প্রতি সেকেন্ডে আমাকে পললাইনে একটি নতুন পয়েন্টে কেন্দ্রের মানচিত্রটি রাখতে হয়েছিল। কোডটি পরীক্ষা করুন: ভাল: https://jsfiddle.net/nstudor/xcmdwfjk/

mymap.setView(point, 11, { animation: true });        

বিএডি: https://jsfiddle.net/nstudor/Lgahv905/

mymap.panTo(point);
mymap.setZoom(11);

4

আপনি এটি ব্যবহার করতে পারেন:

var latLon = L.latLng(40.737, -73.923);
var bounds = latLon.toBounds(500); // 500 = metres
map.panTo(latLon).fitBounds(bounds);

এটি মানচিত্রের লিফলেটে সীমানার সাথে মানিয়ে নেওয়ার জন্য স্তর স্তরটি নির্ধারণ করবে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.