2016-12-13 3 views
-3

Я использую API Карт Google в своем приложении для Android и хочу изменить внешний вид кнопки моего местоположения со старого с квадратом на новый значок дизайна материала вокруг круга.android Google Maps change MyLocation icon to Значок материала

Текущий один:
old

Я хочу изменить его к этому:

new

Кроме того, как я могу изменить его положение в правом верхнем углу в правый нижний угол?

Ниже мой код для файла XML:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
tools:context="com.bhoiwala.locationmocker.MapsActivity" > 
    <fragment xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:map="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:id="@+id/map" 
    android:name="com.google.android.gms.maps.SupportMapFragment" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" /> 
</FrameLayout>  

Ниже приведен код, о том, как я использую его:

private void updateLocationUI() { 
    if (mMap == null) { 
     return; 
    } 

    if (mLocationPermissionGranted) { 
     mMap.setMyLocationEnabled(true); 
     mMap.getUiSettings().setMyLocationButtonEnabled(true); 
    } 

Спасибо :)

+3

Пробовали ли вы это Http: // StackOverflow. com/questions/23883235/google-map-for-android-my-location-custom-button –

+2

Когда вы запустите код в API> 21, тогда отобразится значок mylocation для дизайна материалов. – Gattsu

ответ

0

вы можете изменить

mMap.setMyLocationEnabled(false); 

Создайте свой o значок шпа и изменить расположение на событии нажатия

+0

Я хотел бы указать, что вы можете просто отключите кнопку в пользовательском интерфейсе после вызова mMap.setMyLocationEnabled (false); так что: mMap.getUiSettings(). setMyLocationButtonEnabled (false); Это эффективно скрывает кнопку, все еще позволяя вам запускать/останавливать обновления местоположения в вашей собственной фабрике onclick – Zach

0

Добавить маркер в вашей LatLng точек map.Paste пользовательского изображения в вытяжке папки затем вызвать как этот

Marker marker = mMap.addMarker(new MarkerOptions().position(latLng).icon(BitmapDescriptorFactory.fromResource(R.drawable.customicon)));