জিওসিভার ডাব্লুএমএস থেকে লিফলেট ইন্টারেক্টিভিটি কীভাবে পাবেন?


12

লিফলেটটিতে ডাব্লুএমএস হিসাবে শেফফিলগুলি পরিবেশন করার জন্য আমার জিওসিভার রয়েছে।

লিফলেট মানচিত্রে ডাব্লুএমএস বৈশিষ্ট্যগুলির সাথে একটি পপআপ দেখায় আমি ব্যবহারকারীরা যখন ডাব্লুএমএস বৈশিষ্ট্যটিতে ক্লিক করে বা ক্লিক করেন তখন আমি যুক্ত করতে চাই।

আমি মোম / লিফলেট ইন্টার্যাকটিভিটি দেখেছি, তবে ডাব্লুএমএস এবং লিফলেট দ্বারা এটি কি সম্ভব?

উত্তর:


14

আপনার ডাব্লুএমএস গেটফিজিটারফোন ব্যবহার করার চেষ্টা করা উচিত। লিফলেট ব্রায়ান ম্যাকব্রাইডের জন্য এখানে একটি উদাহরণ রয়েছে । GetFeatureInfo অনুরোধটি ট্রিগার করার জন্য ব্যবহৃত ইভেন্টটি অন্লিক।


এখন আমি জিওসিভার ফ্রিমার্কার টেম্পলেটগুলির সাথে getFeatureInfo ডেটা ফর্ম্যাট করার কাজ করছি। লিফলেট হোভার / মাউসওভার মিথস্ক্রিয়া সম্পর্কে কোনও চিন্তা?
জার্বো

উদাহরণে প্রদর্শিত হিসাবে আপনি অনম্যাপক্লিক ফাংশনটিতে পাস হওয়া ইভেন্টটি পরিবর্তন করার চেষ্টা করা উচিত: লাইন 41 »map.addEventListener ('ক্লিক', onMapClick); আমি মনে করি আপনার ডকুমেন্টেশন পৃষ্ঠাটি একবার দেখা উচিত: লিফলেট.ক্লাউড তৈরি / রেফারেন্সHtml । জিওসিভার ফ্রিমার্কার টেম্পলেটগুলি সম্পর্কে আমি এটি কখনই ব্যবহার করি নি, তবে ডাব্লুএমএস গেটফিজারআইএনফো-র পরিবর্তে জিওজেসনে ফর্ম্যাট করার প্রতিক্রিয়া চেয়ে ডাব্লুএফএস গেটফিজার অনুরোধটি করা আমার কাছে আরও বোধগম্য। ক্লায়েন্ট সাইডের জিওজেসন অবজেক্টের সাথে বৈশিষ্ট্য (গুলি) ডেটা প্রদর্শনের জন্য একটি সাধারণ এইচটিএমএল মার্কআপ তৈরি করা আরও অনেক সহজ।
পেড্রো মেন্ডেস

দুঃখিত .. লিফলেট দিয়ে গেটফিচার তৈরির কোনও উপায় নেই ..: / আপনি একই প্রভাবের জন্য জিওজেএসএন স্তরটি ব্যবহার করতে পারলেও (বৈশিষ্ট্যের বৈশিষ্ট্যগুলি ক্লায়েন্টটিতে ইতিমধ্যে অ্যাক্সেসযোগ্য)। তবে এটি আমি ওপেনলায়ার্সকে পছন্দ করি =)।
পেড্রো মেন্ডেস

হাই জাব্রো, আপনি কি এই কাজটি করার ব্যবস্থা করেছিলেন? আমি একই বাস্তবায়ন করতে চান। আপনি কিছু কোড স্নিপেট ভাগ করে নিতে চান?
প্রগনেশ প্যাটেল

4
@ পেড্রোমেন্ডেস উদাহরণটির লিঙ্কটি দুর্ভাগ্যক্রমে ভেঙে গেছে। আপনি এটি আপডেট করতে পারেন?
ustroetz

4

ডেটাসেটটি কত বড় তার উপর নির্ভর করে আমি লিফলেট ইন্টারেক্টিভিটি দুটি উপায়ে পাই। আমি ডাব্লুএমএস getFeatureInfo এর বিরুদ্ধে সুপারিশ করব, কারণ স্টাইলিংটি সমস্ত সেট সার্ভার-সাইড, যা কনফিগার করার জন্য ক্লান্তিকর। সুতরাং, এখানে আমার দুটি উপায়:

  1. যদি ডেটাসেটটি ছোট হয় তবে কেবল পুরো জিনিসটি ভেক্টর হিসাবে লোড করুন (আপনি যদি কর্ড সক্ষম করে থাকেন তবে JSONP বা JSON হিসাবে অনুরোধটি করুন)। উদাহরণস্বরূপ: https://maps.gcc.tas.gov.au/dogexerciseareas.html এবং কোড: https://github.com/gccgisteam/maps-website/blob/master/dogexerciseareas.html
  2. যদি ডেটাসেটটি বড় হয় তবে অ্যানক্লিক অনুরোধটি করুন এবং নিকটবর্তী বৈশিষ্ট্যগুলির জন্য (জেএসওএন বা জেএসএনপি ব্যবহার করে) ভেক্টরগুলি রিটার্ন করুন। উদাহরণ: https://maps.gcc.tas.gov.au/stormwater.html এবং কোড: https://github.com/gccgisteam/maps-website/blob/master/stormwater.html

(সেই ঝড়ের পানির উদাহরণটি সত্যই হওয়া দরকারের তুলনায় কিছুটা জটিল কারণ স্তরগুলি চালু এবং বন্ধ হওয়ার সাথে সাথে একটি স্তরটি ইন্টারেক্টিভ হয় কিনা তা আমি পরিবর্তন করি ...)


নোট করুন যে ডাব্লুএমএস গেটফিজারআইএনফো এখন জেএসএনকে ফিরিয়ে দিতে পারে।
অ্যালেক্স লেথ

2

এখানে একটি ছোট প্লাগইন যা এটি ভালভাবে অর্জন করে: https://gist.github.com/rclark/6908938

আপনি যদি ০.7.৩ এর বেশি লিফলেট সংস্করণ ব্যবহার করেন তবে ডাব্লুএমএস স্তরগুলির মধ্যে ক্লিক শনাক্তকরণের জন্য এটি আরেকটি ভাল প্লাগইন: https://github.com/heigeo/leaflet.wms

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