জিও ইউআরআই ইন্টেন্ট দ্বারা প্রবর্তিত মানচিত্রে আমি কীভাবে একটি চিহ্নিতকারী দেখাব?


107

আমার একটি অ্যাপ্লিকেশন রয়েছে যেখানে আমি নির্দিষ্ট অবস্থানের জিও স্থানাঙ্কগুলি সহ গুগল মানচিত্র চালু করে বিভিন্ন অবস্থান (একসময় ব্যবহারকারী ইনপুট দ্বারা বেছে নেওয়া) প্রদর্শন করতে চাই।

আমি বর্তমানে এটি ব্যবহার করছি (আসল ল্যাট এবং দীর্ঘ। মান সহ):

Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("geo:<lat>,<long>?z=17"));
startActivity(intent);

এটি ঠিক যা আমি চাই ঠিক তা বাদে এটি নির্দিষ্ট পয়েন্টের জন্য কোনও সূচক বা চিহ্নিতকারী দেখায় না। এটি কেবলমাত্র তার অবস্থান কেন্দ্র করে।

মানচিত্রটি ব্যবহার না করে চিহ্নিতকারী বা অন্য কোনও কিছু অন্তর্ভুক্ত করার উপায় আছে কি?


লেবেলটি সাম্প্রতিক মানচিত্রের আপডেটে দেখা বন্ধ করে দিয়েছে .. কী করব?
ব্যবহারকারী 2297550

উত্তর:


254

এটা চেষ্টা কর:

Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("geo:<lat>,<long>?q=<lat>,<long>(Label+Name)"));
startActivity(intent);

আপনি যদি কোনও লেবেল না চান তবে আপনি (লেবেল + নাম) বাদ দিতে পারেন এবং এটি এলোমেলোভাবে নিকটতম রাস্তায় বা অন্য যেটিকে এটি প্রাসঙ্গিক বলে মনে করে তার উপর ভিত্তি করে একটি চয়ন করবে।


এই ইউআরআই বাস্তবায়নের পরে আমার জুম সেট করতে সমস্যা হচ্ছে। এটি এখন অপ্রচলিত বলে মনে হচ্ছে
লাকিমালাকা

8
@ মিমি ...: আপনার? জেডকে একটি & জেতে পরিবর্তন করতে হবে। আপনি কেবল একটি পেতে পারেন? একটি uri এ বিএডি: জিও: এন, এম? জেড = 10? কিউ = এন, এম (প্লেস) ভাল: ভূ: এন, এম? জেড = 10 এবং কিউ = এন, এম (স্থান)
জোশ

কোনও জুম এখনও কাজ করে না (তবে লেবেলটি কাজ করে)। এছাড়াও মানচিত্রে প্রাসঙ্গিক কিছু না পাওয়া গেলেও (যদিও আমরা এটি লেবেল সরবরাহ করি) এটি একটি টোস্ট ত্রুটি প্রদর্শন করবে। এই সমাধানটি কাজ করে তবে কেবলমাত্র আধা অনুকূল।
ওয়ার্পজিট

3
জুমটিকে অগ্রাহ্য করা হয়েছে কারণ এটি জিনওন্টেন্টের চেয়ে সহজ প্রশ্ন। এখানে যা ঘটে তা আসলে একটি সরল ক্যোয়ারী যা গুগলে প্রেরণ করা হয় এবং তারপরে সার্ভার এটির সাথে সম্পর্কিত "অনুসন্ধানের ফলাফল" দিয়ে সাড়া দেয়। আপনি map.google.com.com এ <lat>, <দীর্ঘ> (লেবেল + নাম) অনুসন্ধান করার চেষ্টা করতে পারেন এবং একই ফলাফলটি পেতে পারেন
robpvn

4
এটি (বা অন্য যে কোনও পদ্ধতিতে এখানে লেবেলযুক্ত ক্যোয়ারী জড়িত রয়েছে) ব্যবহার করে geo:অংশটির জিওপয়েন্টটিকে সম্পূর্ণ উপেক্ষা করা হবে , lke robpvn উল্লেখ করেছে। কিছু ক্ষেত্রে ক্যোরিটি ল্যাট / লং ব্যবহার করে ব্যর্থ হবে এবং তারপরে আপনি জিওপয়েন্টে ফিরে যাওয়ার পরিবর্তে কেবল "ফলাফল নয়" টোস্ট পাবেন। কোনও ধরণের জিআইএস অ্যাপের জন্য খুব কার্যকর নয় useful
জিওবিটস

45

গৃহীত উত্তরটি সঠিক, যদি আপনার লেবেলে কোনও অ্যাম্পারস্যান্ড (&) থাকে except

এ খুঁজছি ভৌগলিক অবস্থানে জন্য একটি ইউনিফর্ম রিসোর্স আইডেন্টিফাইয়ার ( 'জিও' কোনো URI) :

৫.১ বিভাগে বলা হয়েছে:

যদি চূড়ান্ত ইউআরআইতে একটি 'ক্যোয়ারী' উপাদান অন্তর্ভুক্ত করা হয়, তবে উপাদানটি ডিলিমিটার যুক্ত করবেন? " ফলাফলের শেষে, এনকোডেড ক্যোয়ারী স্ট্রিংয়ের পরে।

দুর্ভাগ্যক্রমে আমাদের জন্য, এটি করা '=' থেকেও রক্ষা পাবে যা আমরা চাই না।

আমাদের এটি করা উচিত:

String label = "Cinnamon & Toast";
String uriBegin = "geo:12,34";
String query = "12,34(" + label + ")";
String encodedQuery = Uri.encode(query);
String uriString = uriBegin + "?q=" + encodedQuery;
Uri uri = Uri.parse(uriString);
Intent intent = new Intent(android.content.Intent.ACTION_VIEW, uri);
startActivity(intent);

2
এই কার্যকারিতাটি নতুন গুগল ম্যাপ্স x.x এ নষ্ট
পি /

42

একটি অভিপ্রায় ব্যবহার করে গুগল মানচিত্র চালু করার জন্য আরও অনেক অপশন রয়েছে ...

   Double myLatitude = 44.433106;
   Double myLongitude = 26.103687;
   String labelLocation = "Jorgesys @ Bucharest";

1)

Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("geo:<" + myLatitude  + ">,<" + myLongitude + ">?q=<" + myLatitude  + ">,<" + myLongitude + ">(" + labelLocation + ")"));
    startActivity(intent);

2)

String urlAddress = "http://maps.google.com/maps?q="+ myLatitude  +"," + myLongitude +"("+ labelLocation + ")&iwloc=A&hl=es";
    Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(urlAddress));
    startActivity(intent);

3)

   String urlAddress = "http://maps.googleapis.com/maps/api/streetview?size=500x500&location=" + myLatitude  + "," + myLongitude + "&fov=90&heading=235&pitch=10&sensor=false";
        Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(urlAddress));
        startActivity(intent);

2 এর মতো দেখায়) "& iwloc = A & hl = es" আসলেই দরকার নেই
অলিভিয়ের ডি জঞ্জো

"iwloc" বলতে তথ্য উইন্ডোর অবস্থান এবং ভাষার জন্য "এইচএল" বোঝায়, যদি আপনি এই মানগুলি সেট না করেন, ডিফল্ট মান প্রয়োগ হয়। =)
জর্জেসিস

আপনি )দ্বিতীয় উপায় মিস ।
সেন

ইউ। পি। এস! দ্বিতীয় এবং তৃতীয় বিকল্প! ধন্যবাদ আমি উভয় স্থির করেছি! Ara ´ • ᴥ • `ᕥ @ বারাস
জর্জেসিস

5

এই স্ট্রিংটি আমার পক্ষে ভাল কাজ করে:

String geoUriString="geo:"+lat+","+lon+"?q=("+head+")@"+lat+","+lon;
Uri geoUri = Uri.parse(geoUriString);
Log.e(TAG, "String: "+geoUriString);
Intent mapCall  = new Intent(Intent.ACTION_VIEW, geoUri);
startActivity(mapCall);

2

জিও: ইউরিতে (লোকেশনমার্কের নাম) যুক্ত করার চেষ্টা করুন। উদাহরণস্বরূপ, "জিও:,? Z = 17 (লোকেশনমার্কনাম)"

অ্যান্ড্রয়েডে গুগল মানচিত্রে 23.0980,30.6797 (নেমডমার্কার) অনুসন্ধান করছে, মনে হচ্ছে এটি মানচিত্রটি কেন্দ্র করে এবং সেই অবস্থানে নেমডমার্কারের নামে চিহ্নিতকারীকে অবস্থান করবে position


1

আমি কেবল কেন্টন প্রাইস থেকে নিম্নলিখিত স্নিপেটটি এখনও অ্যান্ড্রয়েড ৪.৪ (কিটকাট) এ কাজ করে তা নিশ্চিত করেছি:

Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("geo:<lat>,<long>?q=<lat>,<long>(Label+Name)"));
startActivity(intent);

0

আমি কেবল মানচিত্রের শীর্ষে চিহ্নিতকারীদের অঙ্কন করার জন্য মানচিত্রের সাথে ওভারলেগুলি ব্যবহার করেছি। যদি আপনার দৃষ্টিভঙ্গিটি আপনার মানচিত্রটি দেখায়, আপনি কোনও দৃশ্যে যে কোনও চিত্র আঁকবেন ঠিক একইভাবে পর্দার কেন্দ্রে আপনার চিহ্নিতকারীকে আঁকানো সম্ভব।

তবে, চিহ্নিতকারীটিকে প্রকৃত মানচিত্রের স্থানাঙ্কের সাথে লিঙ্কযুক্ত করা হবে না, তবে এটি যদি কেবল স্থির দৃষ্টিকোণ হয় তবে এটি করতে পারে।

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