একটি মানচিত্র এবং শৈলী ডেটাসেটে ডেটাসেট যোগ করুন

প্ল্যাটফর্ম নির্বাচন করুন: অ্যান্ড্রয়েড আইওএস জাভাস্ক্রিপ্ট

এই পৃষ্ঠাটি আপনাকে দেখায় কিভাবে একটি মানচিত্রে একটি ডেটাসেট যোগ করতে হয় এবং স্টাইলিং প্রয়োগ করতে হয়।

স্টাইল করা বহুভুজ ডেটা দেখানো একটি স্ক্রিনশট।

পূর্বশর্ত

এগিয়ে যাওয়ার আগে, আপনার একটি মানচিত্র আইডি এবং মানচিত্র শৈলী এবং একটি ডেটাসেট আইডি থাকা উচিত।

একটি ডেটাসেট আইডি একটি মানচিত্র শৈলীর সাথে সংযুক্ত করুন

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

আপনার ডেটাসেটকে মানচিত্র শৈলীর সাথে সংযুক্ত করতে:

  1. গুগল ক্লাউড কনসোলে, ডেটাসেট পৃষ্ঠায় যান
  2. ডেটাসেটের নামে ক্লিক করুন। ডেটাসেটের বিবরণ পৃষ্ঠাটি প্রদর্শিত হবে।
  3. প্রিভিউ ট্যাবে ক্লিক করুন।
  4. অ্যাসোসিয়েটেড ম্যাপ স্টাইল বিভাগে, ADD MAP STYLE এ ক্লিক করুন।
    অ্যাসোসিয়েটেড ম্যাপ স্টাইলস বিভাগে একটি প্লাস বোতাম রয়েছে যেখানে ডানদিকে "ম্যাপ স্টাইল যোগ করুন" লেখা আছে।
  5. ম্যাপ স্টাইল(গুলি) সংযুক্ত করার জন্য চেকবক্স(গুলি) ক্লিক করুন এবং তারপর SAVE এ ক্লিক করুন।

ডেটাসেটে স্টাইল প্রয়োগ করুন

একটি ডেটাসেটে স্টাইল প্রয়োগ করতে:

  1. FeatureLayer.StyleFactory ইন্টারফেস বাস্তবায়নকারী একটি স্টাইল ফ্যাক্টরি ফাংশন তৈরি করুন। এই ফাংশনটি একটি ডেটাসেটের স্টাইলিং লজিক সংজ্ঞায়িত করে।

  2. ডেটাসেটের প্রতিটি বৈশিষ্ট্যে স্টাইল ফ্যাক্টরি ফাংশন প্রয়োগ করতে FeatureLayer.setFeatureStyle() কল করুন।

একটি স্টাইল ফ্যাক্টরি ফাংশন তৈরি করুন

যখন আপনি ফাংশনটি ফিচার লেয়ারে সেট করেন, তখন ডেটাসেট লেয়ারের প্রতিটি ফিচারে স্টাইল ফ্যাক্টরি ফাংশন প্রয়োগ করা হয়। এই ফাংশনটি অবশ্যই একটি FeatureStyle অবজেক্ট ফেরত দেবে যা বহুভুজকে কীভাবে স্টাইল করতে হবে তা নির্দিষ্ট করে।

যদি স্টাইল ফ্যাক্টরি null রিটার্ন করে, তাহলে প্রদত্ত বৈশিষ্ট্যটি রেন্ডার করা হবে না। আরও তথ্যের জন্য, একটি স্তর থেকে স্টাইলিং সরান দেখুন।

অ্যান্ড্রয়েডের জন্য ম্যাপস SDK স্টাইল ফ্যাক্টরি ফাংশনে একটি Feature ইনস্ট্যান্স পাস করে। Feature ইনস্ট্যান্সটি ফিচারের মেটাডেটা উপস্থাপন করে, যা আপনাকে স্টাইল ফ্যাক্টরি ফাংশনের মেটাডেটাতে অ্যাক্সেস দেয়।

স্টাইল ফ্যাক্টরি ফাংশনটি প্রয়োগ করার সময় সর্বদা সামঞ্জস্যপূর্ণ ফলাফল প্রদান করা উচিত। উদাহরণস্বরূপ, যদি আপনি এলোমেলোভাবে বৈশিষ্ট্যগুলির একটি সেট রঙ করতে চান, তাহলে এলোমেলো অংশটি ফিচার স্টাইল ফাংশনে স্থান নেওয়া উচিত নয়, কারণ এতে অনিচ্ছাকৃত ফলাফল হতে পারে।

যেহেতু এই ফাংশনটি একটি লেয়ারের প্রতিটি বৈশিষ্ট্যের উপর কাজ করে, তাই অপ্টিমাইজেশন গুরুত্বপূর্ণ। রেন্ডারিং সময়ের উপর প্রভাব এড়াতে যখন একটি ফিচার লেয়ার আর ব্যবহার করা হচ্ছে না তখন FeatureLayer.setFeatureStyle(null) কল করুন।

ডেটাসেটের আইডি পেতে আপনি FeatureLayer.getDatasetId() এও কল করতে পারেন।

স্ট্রোক, ফিল এবং পয়েন্ট ব্যাসার্ধ সেট করুন

স্টাইল ফ্যাক্টরি ফাংশনে কোনও বৈশিষ্ট্য স্টাইল করার সময়, আপনি সেট করতে পারেন:

  • Color ক্লাস দ্বারা নির্ধারিত স্ট্রোকের রঙ এবং বর্ডারের অস্বচ্ছতা । ডিফল্ট মান হল স্বচ্ছ ( Color.TRANSPARENT )।

  • স্ক্রিন পিক্সেলে বর্ডারের স্ট্রোক প্রস্থ । ডিফল্ট মান হল 2।

  • Color ক্লাস দ্বারা নির্ধারিত রঙ এবং অস্বচ্ছতা পূরণ করুন । ডিফল্ট মান হল স্বচ্ছ ( Color.TRANSPARENT )।

  • ০ থেকে ১২৮ পিক্সেলের মধ্যে একটি বিন্দু বৈশিষ্ট্যের বিন্দু ব্যাসার্ধ

সহজ স্টাইল নিয়ম ব্যবহার করুন

স্টাইল ফিচারের সবচেয়ে সহজ উপায় হল একটি FeatureLayer.StyleFactory সংজ্ঞায়িত করা যা সর্বদা একটি অভিন্ন FeatureStyle অবজেক্ট তৈরি করে, ফিচার নির্বিশেষে। ফিচার স্টাইল অপশনগুলি সরাসরি একটি ডেটাসেট ফিচার লেয়ারে প্রয়োগ করুন, অথবা FeatureStyleFunction এর সাথে একত্রে ব্যবহার করুন।

ঘোষণামূলক শৈলীর নিয়ম ব্যবহার করুন

আপনি একটি বৈশিষ্ট্য বৈশিষ্ট্যের উপর ভিত্তি করে ঘোষণামূলকভাবে শৈলী নিয়ম সেট করতে পারেন এবং আপনার সমগ্র ডেটাসেটে সেগুলি প্রয়োগ করতে পারেন। আপনি আপনার বৈশিষ্ট্য শৈলী ফাংশন থেকে null ফেরত দিতে পারেন, উদাহরণস্বরূপ যদি আপনি চান যে বৈশিষ্ট্যগুলির একটি উপসেট অদৃশ্য থাকে।

উদাহরণস্বরূপ, কোনও বৈশিষ্ট্যের জন্য ডেটাসেট বৈশিষ্ট্যের Map<String,String> ফেরত দিতে DatasetFeature.getDatasetAttributes() পদ্ধতি ব্যবহার করুন। এরপর আপনি বৈশিষ্ট্যটির বৈশিষ্ট্যের উপর ভিত্তি করে তার স্টাইলিং কাস্টমাইজ করতে পারেন।

এই উদাহরণটি স্টাইলিং নিয়ন্ত্রণ করার জন্য একটি ডেটাসেটের প্রতিটি বৈশিষ্ট্যের "highlightColor" বৈশিষ্ট্যের মান নির্ধারণ করে:

কোটলিন

// Get the dataset feature, so we can work with all of its attributes.
val datasetFeature: DatasetFeature = feature as DatasetFeature
// Create a switch statement based on the value of the // "highlightColor" attribute of the dataset. val attributeColor: MutableMap<String, String> = datasetFeature.getDatasetAttributes() when (attributeColor["highlightColor"]) { "Black" -> { ... } "Red" -> { ... } else -> { ... } }

জাভা

// Get the dataset feature, so we can work with all of its attributes.
DatasetFeature datasetFeature = (DatasetFeature) feature;
// Create a switch statement based on the value of the // "highlightColor" attribute of the dataset. Map<String, String> attributeColor = datasetFeature.getDatasetAttributes(); switch(attributeColor.get("highlightColor")) { case "Black": ... break; case "Red": ... break; default: // Color not defined. ... break; }

ডেটাসেট ফিচার লেয়ারে স্টাইল প্রয়োগ করুন

এই উদাহরণটি ডেটাসেট ফিচার লেয়ারের একটি বহুভুজে একটি স্টাইল ফ্যাক্টরি ফাংশন প্রয়োগ করে। স্টাইল ফ্যাক্টরি ফাংশনটি বহুভুজে একটি কাস্টম ফিল এবং স্ট্রোক স্টাইল প্রয়োগ করে:

  1. যদি আপনি ইতিমধ্যেই এটি না করে থাকেন, তাহলে একটি নতুন মানচিত্র আইডি এবং মানচিত্র শৈলী তৈরি করতে শুরু করুন এর ধাপগুলি অনুসরণ করুন। ডেটাসেট বৈশিষ্ট্য স্তরটি সক্ষম করতে ভুলবেন না।

  2. মানচিত্রটি শুরু হলে ডেটাসেট বৈশিষ্ট্য স্তরের একটি রেফারেন্স পান।

    কোটলিন

    private var datasetLayer: FeatureLayer? = null
    override fun onMapReady(googleMap: GoogleMap) { // Get the DATASET feature layer. datasetLayer = googleMap.getFeatureLayer(FeatureLayerOptions.Builder() .featureType(FeatureType.DATASET) // Specify the dataset ID. .datasetId(YOUR_DATASET_ID) .build())
    // Apply style factory function to DATASET layer. styleDatasetsLayer() }

    জাভা

    private FeatureLayer datasetLayer;
    @Override public void onMapReady(GoogleMap map) { // Get the DATASET feature layer. datasetLayer = map.getFeatureLayer(new FeatureLayerOptions.Builder() .featureType(FeatureType.DATASET) // Specify the dataset ID. .datasetId(YOUR_DATASET_ID) .build());
    // Apply style factory function to DATASET layer. styleDatasetsLayer(); }

  3. একটি স্টাইল ফ্যাক্টরি ফাংশন তৈরি করুন এবং এটি ডেটাসেট বৈশিষ্ট্য স্তরে প্রয়োগ করুন।

    নিম্নলিখিত উদাহরণটি ডেটাসেটের সমস্ত বৈশিষ্ট্যের জন্য একই ফিল এবং স্ট্রোক প্রয়োগ করে।

    কোটলিন

    private fun styleDatasetsLayer() {
    // Create the style factory function. val styleFactory = FeatureLayer.StyleFactory { feature: Feature ->
    // Check if the feature is an instance of DatasetFeature. if (feature is DatasetFeature) {
    return@StyleFactory FeatureStyle.Builder() // Define a style with green fill at 50% opacity and // solid green border. .fillColor(0x8000ff00.toInt()) .strokeColor(0xff00ff00.toInt()) .strokeWidth(2F) .build() } return@StyleFactory null }
    // Apply the style factory function to the feature layer. datasetLayer?.setFeatureStyle(styleFactory) }

    জাভা

    private void styleDatasetsLayer() {
    // Create the style factory function. FeatureLayer.StyleFactory styleFactory = (Feature feature) -> {
    // Check if the feature is an instance of DatasetFeature. if (feature instanceof DatasetFeature) {
    return new FeatureStyle.Builder() // Define a style with green fill at 50% opacity and solid green border. .fillColor(0x8000ff00) .strokeColor(0xff00ff00) .strokeWidth(2) .build(); } return null; };
    // Apply the style factory function to the feature layer. datasetLayer.setFeatureStyle(styleFactory); }

একটি স্তর থেকে স্টাইলিং সরান

একটি স্তর থেকে স্টাইলিং অপসারণ করতে, FeatureLayer.setFeatureStyle(null) কল করুন।

আপনি আপনার স্টাইল ফ্যাক্টরি থেকে null ফেরতও দিতে পারেন, উদাহরণস্বরূপ, যদি আপনি চান যে বৈশিষ্ট্যগুলির একটি উপসেট অদৃশ্য থাকুক।