GoogleMaps v2 Android 的我的位置按钮,不显示

Posted

技术标签:

【中文标题】GoogleMaps v2 Android 的我的位置按钮,不显示【英文标题】:My-Location Button of GoogleMaps v2 Android, not displayed 【发布时间】:2013-04-15 13:02:18 【问题描述】:

我正在使用谷歌地图做一个应用程序,但是当我尝试添加“我的位置”按钮时,正如参考所说的那样不起作用......

我就是这样做的:

protected void onCreate(Bundle savedInstanceState) 
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        map = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map)).getMap();

        locManager = (LocationManager)getSystemService(LOCATION_SERVICE);
        providersList = locManager.getAllProviders();
        provider =locManager.getProvider(providersList.get(0));
        precision = provider.getAccuracy();
        req = new Criteria();
        req.setAccuracy(Criteria.ACCURACY_FINE);        
        inside = false;

        map.getUiSettings().setMyLocationButtonEnabled(true);

        buildPolygon();
        drawPolygon();
        startLocalization();
    

我使用了map.getUiSettings().setMyLocationButtonEnabled(true);,如谷歌参考中所示。不知道怎么回事。。

【问题讨论】:

【参考方案1】:

您需要权限使其可见

if (ActivityCompat.checkSelfPermission(Maps_Activity.this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED &&
            ActivityCompat.checkSelfPermission(Maps_Activity.this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) 

   requestPermission();

   return;


mMap.setMyLocationEnabled(true);

    

【讨论】:

【参考方案2】:

添加以下行。

科特林:

map.isMyLocationEnabled = true

map 是一个 GoogleMap 对象。

(此问题中更详细的答案:https://***.com/a/15142091/11211963)

【讨论】:

【参考方案3】:

以上答案无效。

override fun onMapReady(googleMap: GoogleMap?) 
    this.googleMap = googleMap

    setupMap()


private fun setupMap() 
    if (ActivityCompat.checkSelfPermission(context!!,
            Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED) 
        // Before enabling the My Location layer, you must request location permission from the user.
        googleMap?.isMyLocationEnabled = true
        // *** Use this method ***
        googleMap?.uiSettings?.isMyLocationButtonEnabled = true

        // See https://developers.google.com/maps/documentation/android-sdk/location
        googleMap?.setOnMyLocationButtonClickListener(this)
        googleMap?.setOnMyLocationClickListener(this)
     else 
        // Show rationale and request permission.
        requestPermissions(arrayOf(Manifest.permission.ACCESS_FINE_LOCATION),
            LOCATION_REQUEST_CODE)
    

【讨论】:

【参考方案4】:

对我来说,ma​​p.setMyLocationEnabled(true); 它适用于棉花糖设备以下和棉花糖设备以上,我在应用程序内手动设置了位置权限。 后来我的位置按钮可见。

【讨论】:

【参考方案5】:

只需在创建地图后添加map.setMyLocationEnabled(true);

map = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map)).getMap();

变成这样

map = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map)).getMap();

map.setMyLocationEnabled(true);

【讨论】:

【参考方案6】:

myLocationButtonEnabled 默认为 true,并在启用setMyLocationEnabled 层时显示。

试试这个:

protected void onCreate(Bundle savedInstanceState) 
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    map = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map)).getMap();

    // Add this line
    map.setMyLocationEnabled(true);

    locManager = (LocationManager)getSystemService(LOCATION_SERVICE);
    providersList = locManager.getAllProviders();
    provider =locManager.getProvider(providersList.get(0));
    precision = provider.getAccuracy();
    req = new Criteria();
    req.setAccuracy(Criteria.ACCURACY_FINE);        
    inside = false;

    //map.getUiSettings().setMyLocationButtonEnabled(true);

    buildPolygon();
    drawPolygon();
    startLocalization();


setMyLocationEnabledDocumentationsetMyLocationButtonEnabledDocumentation

【讨论】:

真的!!!哦天哪……捂脸!非常感谢......它工作完美知道。没有看到这个 MyLocationEnale。再次感谢!!! 不时发生在我们最好的人身上:)。很高兴我能帮助你。祝你好运! 在我的情况下,添加 setMyLocationEnabled(true) 没有帮助,除非我的代码同时获取/收听位置。不知何故,这会触发蓝点出现在地图上。

以上是关于GoogleMaps v2 Android 的我的位置按钮,不显示的主要内容,如果未能解决你的问题,请参考以下文章

根据用户移动 android googleMaps v2 更新折线

Google Maps Android API V2 检查设备上是不是安装了 GoogleMaps

Google Maps Android API V2 检查 Google Maps 应用程序是不是被禁用

如何使用 GoogleMaps v2 获取当前坐标?

“Android大厂面试指南”V2.0上线,隔离58天的我重新开启面试之路

如何使用适用于 Android V2 的 Google Maps 处理地图移动端?