emulation - Android map show my location didn't work -


i have been struggle current location in google map, tried official map demo, not working also. shows getmylocation button on upper right, didn't show blue dot on map current location. here code , i'm using emulator target api 23, guess may emulator's problem since code download directly github. advice appreciated. [screenshot][1]

    package com.example.mapdemo;     import com.google.android.gms.maps.googlemap;     import com.google.android.gms.maps.googlemap.onmylocationbuttonclicklistener;     import com.google.android.gms.maps.onmapreadycallback;     import com.google.android.gms.maps.supportmapfragment;      import android.manifest;     import android.content.pm.packagemanager;     import android.os.bundle;     import android.support.annotation.nonnull;     import android.support.v4.app.activitycompat;     import android.support.v4.content.contextcompat;     import android.support.v7.app.appcompatactivity;     import android.widget.toast;      /**      * demo shows how gms location can used check changes users location.       * "my location" button uses gms location set blue dot representing users location.      * permission {@link android.manifest.permission#access_fine_location} requested @ run      * time. if permission has not been granted, activity finished error message.      */     public class mylocationdemoactivity extends appcompatactivity             implements             onmylocationbuttonclicklistener,             onmapreadycallback,             activitycompat.onrequestpermissionsresultcallback {          /**          * request code location permission request.          *          * @see #onrequestpermissionsresult(int, string[], int[])          */         private static final int location_permission_request_code = 1;          /**          * flag indicating whether requested permission has been denied after returning in          * {@link #onrequestpermissionsresult(int, string[], int[])}.          */         private boolean mpermissiondenied = false;          private googlemap mmap;          @override         protected void oncreate(bundle savedinstancestate) {             super.oncreate(savedinstancestate);             setcontentview(r.layout.my_location_demo);              supportmapfragment mapfragment =                     (supportmapfragment) getsupportfragmentmanager().findfragmentbyid(r.id.map);             mapfragment.getmapasync(this);         }          @override         public void onmapready(googlemap map) {             mmap = map;              mmap.setonmylocationbuttonclicklistener(this);             enablemylocation();         }          /**          * enables location layer if fine location permission has been granted.          */         private void enablemylocation() {             if (contextcompat.checkselfpermission(this, manifest.permission.access_fine_location)                     != packagemanager.permission_granted) {                 // permission access location missing.                 permissionutils.requestpermission(this, location_permission_request_code,                         manifest.permission.access_fine_location, true);             } else if (mmap != null) {                 // access location has been granted app.                 mmap.setmylocationenabled(true);             }         }          @override         public boolean onmylocationbuttonclick() {             toast.maketext(this, "mylocation button clicked", toast.length_short).show();             // return false don't consume event , default behavior still occurs             // (the camera animates user's current position).             return false;         }           @override         public void onrequestpermissionsresult(int requestcode, @nonnull string[] permissions,                 @nonnull int[] grantresults) {             if (requestcode != location_permission_request_code) {                 return;             }              if (permissionutils.ispermissiongranted(permissions, grantresults,                     manifest.permission.access_fine_location)) {                 // enable location layer if permission has been granted.                 enablemylocation();             } else {                 // display missing permission error dialog when fragments resume.                 mpermissiondenied = true;             }         }          @override         protected void onresumefragments() {             super.onresumefragments();             if (mpermissiondenied) {                 // permission not granted, display error dialog.                 showmissingpermissionerror();                 mpermissiondenied = false;             }         }          /**          * displays dialog error message explaining location permission missing.          */         private void showmissingpermissionerror() {             permissionutils.permissiondenieddialog                     .newinstance(true).show(getsupportfragmentmanager(), "dialog");         }      }  **strong text**   [1]: http://i.stack.imgur.com/ydhk2.png 

when using fresh image emulator first time there aren't location coordinates saved device , doesn't use computer's location.

click on "more" option on righthand sidebar, should open "extended controls" window. select "location" tab (it should selected default) , change latitude , longitude inputs heart's desire , click "send". voilĂ !


Comments

Popular posts from this blog

javascript - How to get current YouTube IDs via iMacros? -

c# - Maintaining a program folder in program files out of date? -