অ্যান্ড্রয়েড গুগল ম্যাপস ভি 2 - মাই লোকেশনের জন্য জুম স্তর নির্ধারণ করুন


105

নতুন গুগল ম্যাপস এপিআই ভি 2 দিয়ে মাই লোকেশনের জন্য জুম স্তর পরিবর্তন করা কি সম্ভব?

আপনি যদি সেট করেন GoogleMap.setEnableMyLocation(true);, আপনার অবস্থানটি সন্ধান করতে মানচিত্রে একটি বোতাম পাবেন।

আপনি যদি এটিতে ক্লিক করেন তবে মানচিত্রটি আপনাকে আপনার অবস্থানে নিয়ে আসবে এবং এটিকে কিছু স্তরে জুম করে দেবে। আমি কি এই জুমটি কম বা বেশি হতে পারি?


1
মাইলোকেশন বোতাম জুম স্তর সম্পর্কে আপনার কোনও ধারণা আছে? আমি যে মান চাই।
প্রশান্ত দেববাদ্বর

উত্তর:


211

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

মনে রাখবেন যে আমি যে উত্তরটি দিয়েছি তা জুম ইন করে না, তবে আপনি যদি নীচের মতটির মতো অবস্থান-পরিবর্তিত পদ্ধতিটি পরিবর্তন করেন তবে আপনি যেটি জুম স্তর পছন্দ করতে পারেন তা চয়ন করতে পারেন:

@Override
public void onLocationChanged(Location location) 
{
    if( mListener != null )
    {
        mListener.onLocationChanged( location );

        //Move the camera to the user's location and zoom in!
        mMap.animateCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(location.getLatitude(), location.getLongitude()), 12.0f));
    }
}

146

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

mMap.animateCamera( CameraUpdateFactory.zoomTo( 17.0f ) );    

কেবলমাত্র সর্বনিম্ন মান = 2.0 এবং সর্বোচ্চ মান = 21.0 এর মধ্যে যে কোনও পছন্দসই মানটিতে জুম মান পরিবর্তন করতে।

এপিআই সতর্ক করে দেয় যে সব জায়গাতেই সর্বোচ্চ জুমের কাছাকাছি বা কাছাকাছি মানের মান নেই iles

দেখুন এই জুম পাওয়া পদ্ধতি সম্পর্কে আরও তথ্যের জন্য CameraUpdateFactory


1
ডিফল্ট জুম স্তর কী ??
ইগোরগানাপলস্কি

14 হ'ল ডিফল্ট জুম স্তর
ভিন শাবা

25

অবস্থান সহ - নতুন গুগল্যাপস এসডিকে:

mMap.animateCamera(CameraUpdateFactory.newLatLngZoom(chLocation,14));

2
নতুন ল্যাটলজজুম () এবং জুম () এর মধ্যে কি কোনও পার্থক্য রয়েছে যা অন্যান্য অনেক উত্তর রেফারেন্স করেছে? অ্যাপে, শেষ ব্যবহারকারীর দৃষ্টিকোণ থেকে, এগুলি দেখতে একই রকম।
পোর্টফোলিওবিল্ডার

15

হিটফ্যান জনের চেয়ে কিছুটা আলাদা সমাধান, যেখানে আমি জুমকে বর্তমান জুম স্তরে তুলনামূলকভাবে পরিবর্তন করি:

// Zoom out just a little
map.animateCamera(CameraUpdateFactory.zoomTo(map.getCameraPosition().zoom - 0.5f));

15

এখানে আনুমানিক জুম স্তর এবং তারা কী করে:

1: World
5: Landmass/continent
10: City
15: Streets
20: Buildings

সুতরাং আপনি রাস্তার স্তরে জুম করার জন্য এই জাতীয় কিছু করতে পারেন উদাহরণস্বরূপ (নীচে "15f" নোট করুন রাস্তার স্তরটি):

 override fun onMapReady(googleMap: GoogleMap?) {
    googleMap?.mapType = GoogleMap.MAP_TYPE_NORMAL
    googleMap?.addMarker(MarkerOptions()
            .position(LatLng(37.4233438, -122.0728817))
            .title("cool place")

            .icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_ROSE)))

    googleMap?.animateCamera(CameraUpdateFactory.newLatLngZoom(LatLng(37.4233438, -122.0728817), 15f))

দ্রষ্টব্য: ঠিক তাই আপনি জানেন যে বিভিন্ন লোকেশনে বিভিন্ন সর্বোচ্চ জুম স্তর থাকতে পারে। googleMap.maxZoomLevelআপনি সর্বোচ্চ বা সর্বনিম্ন জুম স্তরগুলি পেতে চাইলে ব্যবহার করার চেষ্টা করুন ।


12

OnMapReady () পদ্ধতিতে

জুম লেভেলকে যে কোনও পছন্দসই মানটিতে পরিবর্তন করুন।

float zoomLevel = (float) 18.0;
mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(latLng, zoomLevel));

2

আপনাকে মানচিত্র_একটিভিটি.এক্সএমএলটিতে কেবল একটি লাইন লিখতে হবে

map:cameraZoom="13"

আমি আশা করি এটি আপনার সমস্যার সমাধান করবে ...


2

তুমি ব্যবহার করতে পার

    CameraUpdate center = CameraUpdateFactory.newLatLng(new LatLng(location.getLatitude(), location.getLongitude()));
    CameraUpdate zoom = CameraUpdateFactory.zoomTo(12);

1

এমনকি আমার সম্প্রতি একই প্রশ্ন ছিল .... কিছুটা উপরে উল্লিখিত সেটম্যাক্সজুম বা অন্য কোনও মানচিত্রের মধ্যে নেই: ক্যামেরাজুম = "13" কাজ করে না তাই আমি দেখতে পেলাম যে অবক্ষয়টি আমি পুরনো ছিল তা গুগল ম্যাপের জন্য আপনার নির্ভরতা নিশ্চিত করে নিন সঠিক এটি এটি নতুন ব্যবহার এটি

compile 'com.google.android.gms:play-services:11.8.0' 


0
Location locaton;
double latitude = location.getlatitude;
double longitude = location.getlongitude;

আপনি যদি জুমটি সংরক্ষণ করতে চান বা সর্বদা এটি পেতে চান তবে আপনাকে কেবল নিম্নলিখিতটি কল করতে হবে

int zoom = mMap.getCameraPosition().zoom;

//To set that just use

mMap.animateCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(getlatitude(), getlongitude),zoom);

0

উপরের উত্তরগুলির বেশিরভাগটি হয় হ্রাস করা হয় বা জুমটি বর্তমান অক্ষাংশ এবং দ্রাঘিমাংশ ধরে রেখে কাজ করে এবং আপনি যে সঠিক জায়গায় এটি চান সেটি জুম করে না। আপনার onMapReady () পদ্ধতিতে নিম্নলিখিত কোডটি যুক্ত করুন ।

@Override
public void onMapReady(GoogleMap googleMap) {
    //Set marker on the map
    googleMap.addMarker(new MarkerOptions().position(new LatLng(0.0000, 0.0000)).title("Marker"));
    //Create a CameraUpdate variable to store the intended location and zoom of the camera
    CameraUpdate cameraUpdate = CameraUpdateFactory.newLatLngZoom(new LatLng(0.0000, 0.0000), 13);
    //Animate the zoom using the animateCamera() method
    googleMap.animateCamera(cameraUpdate);
}

0

আমি "mMap.animateCamera (ক্যামেরাআপডেটফ্যাক্টরি.জুমটো (17.0f)) দিয়ে চেষ্টা করেছি;" তবে এটি আমার পক্ষে কার্যকর হয়নি। তাই আমি শুরুতে জুম করার জন্য এই অ্যানিমেশনটি ব্যবহার করেছি।

LatLng loc = new LatLng(33.8688, 151.2093);
mMap.addMarker(new MarkerOptions().position(loc).title("Sydney"));
mMap.animateCamera(CameraUpdateFactory.newLatLngZoom(loc, 18), 5000, null);
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.