9 ارسال در این موضوع قرار دارد

سلام
من یک برنامه دارم مینویسم که مبتنی به نقشه است و من صفحه اول فقط 1 دکمه گذاشتم که کلیک میشه میره صفحه دوم که نقشه لود میشه و لوکیشن کاربر رو مارک میکنه و این برنامه رو روی گوشی خوردم خروجی گرفتم اجرا میشه و موقعیت جاری منو بهم میده ولی وقتی روی دستگاه های دیگه و گوشی های دیگه تست میکنم و خروجی میگیرم وقتی روی دکمه میزنم بره صفحه بعد بره نقشه رو بیاره برنامه پیغام خطا میده میاد بیرون

وارد کنسول گوگل شدم و تمام کاراشو کردم و سطح دسترسی ها رو دادم.

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
در 12 ساعت قبل، miladesd گفته است :

سلام
من یک برنامه دارم مینویسم که مبتنی به نقشه است و من صفحه اول فقط 1 دکمه گذاشتم که کلیک میشه میره صفحه دوم که نقشه لود میشه و لوکیشن کاربر رو مارک میکنه و این برنامه رو روی گوشی خوردم خروجی گرفتم اجرا میشه و موقعیت جاری منو بهم میده ولی وقتی روی دستگاه های دیگه و گوشی های دیگه تست میکنم و خروجی میگیرم وقتی روی دکمه میزنم بره صفحه بعد بره نقشه رو بیاره برنامه پیغام خطا میده میاد بیرون

وارد کنسول گوگل شدم و تمام کاراشو کردم و سطح دسترسی ها رو دادم.

سلام، روی چه نسخه هایی از اندروید دارید تست میکنید؟

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

احتمالا گوشی مورد نظر باید گوگل پلی سرویس رو آپدیت کنه چون دارید از ورژن های جدیدش استفاده میکنید

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

ببین تو logcat چی میزنه دلیل کرش رو.

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
در 4 ساعت قبل، شاهرخ جهان زاده گفته است :

سلام، روی چه نسخه هایی از اندروید دارید تست میکنید؟

compileSdkVersion 26
buildToolsVersion 26.0.2

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
در هم اکنون، miladesd گفته است :

compileSdkVersion 26
buildToolsVersion 26.0.2

احتمال میدم که از پرمیشن ها باشه، چون باید برای اپ این رو مشخص کنید...

چون نحوه دریافت پرمیشن ها از نسخه اندروید 6 به بعد متفاوت شده و در همه حالات باید توسط اپ این قضیه چک بشه...

اگر کدهای اکتیویتی که مپ رو توی اون پیاده سازی کردید رو بذارید بهتر میشه راهنمایی کرد...

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
در در 1396/11/11, 14:51:55، شاهرخ جهان زاده گفته است :

احتمال میدم که از پرمیشن ها باشه، چون باید برای اپ این رو مشخص کنید...

چون نحوه دریافت پرمیشن ها از نسخه اندروید 6 به بعد متفاوت شده و در همه حالات باید توسط اپ این قضیه چک بشه...

اگر کدهای اکتیویتی که مپ رو توی اون پیاده سازی کردید رو بذارید بهتر میشه راهنمایی کرد...

package com.test2.arian.test2;


import android.content.Context;
import android.content.pm.PackageManager;
import android.location.Location;
import android.location.LocationManager;
import android.os.Bundle;
import android.support.v4.app.ActivityCompat;
import android.support.v7.app.AppCompatActivity;

import com.google.android.gms.maps.CameraUpdateFactory;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.OnMapReadyCallback;
import com.google.android.gms.maps.SupportMapFragment;
import com.google.android.gms.maps.model.BitmapDescriptorFactory;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.MarkerOptions;

public class MapActivity extends AppCompatActivity implements OnMapReadyCallback {



    Double latitude, longitude;

    GoogleMap map;
    private Double myLocation;
    private Object trafficEnabled;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(com.test2.arian.test2.R.layout.activity_google_map);

        //-----------------MY LOCATION-------------------------------------

        SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager().findFragmentById(com.test2.arian.jobinmap.R.id.google_map);
        mapFragment.getMapAsync(this);

    }
    @Override
    public void onMapReady(GoogleMap googleMap) {

        map = googleMap;
        map.setMyLocationEnabled(true);
        LocationManager service = (LocationManager) getSystemService(LOCATION_SERVICE);
       boolean gpsenable = service.isProviderEnabled(LocationManager.GPS_PROVIDER);
        boolean networkenable = service.isProviderEnabled(LocationManager.NETWORK_PROVIDER);
       LocationManager lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE);

        Location location = null;
        if (ActivityCompat.checkSelfPermission(this, android.Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED) {
            location = lm.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
        }


        double longitude = location.getLongitude();
        double latitude = location.getLatitude();

        LatLng My_Position = new LatLng(latitude,longitude);
        MarkerOptions myposition = new MarkerOptions().position(My_Position).title("mmm").snippet("position man").icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_RED));
        map.addMarker(myposition);

       map.animateCamera(CameraUpdateFactory.newLatLngZoom(My_Position,16));
        




    }


}

 

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
در در 1396/11/13, 00:58:04، miladesd گفته است :

package com.test2.arian.test2;


import android.content.Context;
import android.content.pm.PackageManager;
import android.location.Location;
import android.location.LocationManager;
import android.os.Bundle;
import android.support.v4.app.ActivityCompat;
import android.support.v7.app.AppCompatActivity;

import com.google.android.gms.maps.CameraUpdateFactory;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.OnMapReadyCallback;
import com.google.android.gms.maps.SupportMapFragment;
import com.google.android.gms.maps.model.BitmapDescriptorFactory;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.MarkerOptions;

public class MapActivity extends AppCompatActivity implements OnMapReadyCallback {



    Double latitude, longitude;

    GoogleMap map;
    private Double myLocation;
    private Object trafficEnabled;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(com.test2.arian.test2.R.layout.activity_google_map);

        //-----------------MY LOCATION-------------------------------------

        SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager().findFragmentById(com.test2.arian.jobinmap.R.id.google_map);
        mapFragment.getMapAsync(this);

    }
    @Override
    public void onMapReady(GoogleMap googleMap) {

        map = googleMap;
        map.setMyLocationEnabled(true);
        LocationManager service = (LocationManager) getSystemService(LOCATION_SERVICE);
       boolean gpsenable = service.isProviderEnabled(LocationManager.GPS_PROVIDER);
        boolean networkenable = service.isProviderEnabled(LocationManager.NETWORK_PROVIDER);
       LocationManager lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE);

        Location location = null;
        if (ActivityCompat.checkSelfPermission(this, android.Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED) {
            location = lm.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
        }


        double longitude = location.getLongitude();
        double latitude = location.getLatitude();

        LatLng My_Position = new LatLng(latitude,longitude);
        MarkerOptions myposition = new MarkerOptions().position(My_Position).title("mmm").snippet("position man").icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_RED));
        map.addMarker(myposition);

       map.animateCamera(CameraUpdateFactory.newLatLngZoom(My_Position,16));
        




    }


}

 

کسی نمیدونه مشکل کجاست؟

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
در 36 دقیقه قبل، miladesd گفته است :

کسی نمیدونه مشکل کجاست؟

شما باید پرمیشن ها رو بررسی کنید...

علاوه بر ACCESS_FINE_LOCATION باید ACCESS_COARSE_LOCATION رو هم داشته باشید...

میتونید به روش زیر عمل کنید:

public class MapsActivity extends AppCompatActivity implements OnMapReadyCallback, android.location.LocationListener {
  
    private GoogleMap mMap;
    private MapView map_view;
    //global objects for permission check
    private static final String[] LOCATION_PERM = {android.Manifest.permission.ACCESS_FINE_LOCATION};
    private static final String[] COARSE_PERM = {Manifest.permission.ACCESS_COARSE_LOCATION};
    LocationManager locationManager;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_maps);

        map_view = (MapView) findViewById(R.id.map_view);
        map_view.onCreate(savedInstanceState);
        map_view.getMapAsync(new OnMapReadyCallback() {
            @Override
            public void onMapReady(GoogleMap gMap) {
                googleMap = gMap;
  
                if (ActivityCompat.checkSelfPermission(getApplicationContext(), Manifest.permission.ACCESS_FINE_LOCATION) != 			 	PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(getApplicationContext(), Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
                    // TODO: Consider calling
                    //    ActivityCompat#requestPermissions
                    // here to request the missing permissions, and then overriding
                    //   public void onRequestPermissionsResult(int requestCode, String[] permissions,
                    //                                          int[] grantResults)
                    // to handle the case where the user grants the permission. See the documentation
                    // for ActivityCompat#requestPermissions for more details.
                    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
                        requestPermissions(LOCATION_PERM, 1337 + 3);
                        requestPermissions(COARSE_PERM, 1337 + 3);
                    }
                    return;
                }
                googleMap.setMyLocationEnabled(true);
  
 		locationManager = (LocationManager) getSystemService(getApplicationContext().LOCATION_SERVICE);
        Criteria criteria = new Criteria();
        Location location = locationManager.getLastKnownLocation(locationManager.getBestProvider(criteria, false));
        String bestProvider = String.valueOf(locationManager.getBestProvider(criteria, true)).toString();
  
 		if (location != null) {
                CameraPosition cameraPosition = new CameraPosition.Builder().target(new LatLng(location.getLatitude(),
                                                                                               location.getLongitude())).zoom(16).build();
                googleMap.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition));
            } else {
                locationManager.requestLocationUpdates(bestProvider, 1000, 16, this);
            }
}

    @Override
    public void onLocationChanged(Location location) {
        if (ActivityCompat.checkSelfPermission(this, android.Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, android.Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
            // TODO: Consider calling
            //    ActivityCompat#requestPermissions
            // here to request the missing permissions, and then overriding
            //   public void onRequestPermissionsResult(int requestCode, String[] permissions,
            //                                          int[] grantResults)
            // to handle the case where the user grants the permission. See the documentation
            // for ActivityCompat#requestPermissions for more details.
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
                requestPermissions(LOCATION_PERM, 1337 + 3);
                requestPermissions(COARSE_PERM, 1337 + 3);
            }
            return;
        }
        locationManager.removeUpdates(this);
        CameraPosition cameraPosition = new CameraPosition.Builder().target(new LatLng(location.getLatitude(), location.getLongitude())).zoom(16).build();
        mMap.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition));
    }

    @Override
    public void onStatusChanged(String provider, int status, Bundle extras) {

    }

    @Override
    public void onProviderEnabled(String provider) {

    }

    @Override
    public void onProviderDisabled(String provider) {

    }
}

 

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری