9

Biz
My Location Icon gibi google maps bir konumum Simgesi olan Android Maps Konumum Düğmesi Değiştirebilir. Bunu Android'de nasıl yapabilirim? Soru olarak Google Maps bu simgeyi değiştirmek için herhangi bir yolu yoktur benim istenen Simge ile bu simge düğmesini değiştirmek istediğiniz

yüzden ek bilgiler ekliyorum belli değildi. https://support.google.com/maps/answer/3093609?hl=en aylarında da bu simgeleri açıklayan Yer Sembolleri anlama> simgesi

hemen altında içinde konum-Fix Bölüm enter image description here gösterilmiştir olmuştu bölümünde noktası bölümün 2. konuma dayalı alın tariflerini görebilirsiniz.

Gördüğünüz gibi, işaretçi bende yazdığım gibi bir konum düğmesi değil. Bu yüzden sorum şu simgeyi (konum düğmesi) istediğim simgeye nasıl değiştirebilirim.

bu simge düğmesi de google haritalar simgesi pic gösterilmiştir görün enter image description here

+0

[this] (http://stackoverflow.com/questions/14826345/android-maps-api-v2-change-mylocation-icon) simgenizi değiştirmenize yardımcı olabilir –

+4

Bunu düşünürlerse Daha sonra o zaman MyLocation Simge değişiyor söylediler ne – Mohit

+0

@SonuRaj aşağı işaretlemek ama harita – Mohit

cevap

4

Evet,

Birazdan dibine benim konum düğmesine konumlandırma yeniden benim haritası fragmanında bu sorunu çözmüş olabilir aşağıdaki kodu kullanarak bakış köşe, işte benim MapsActivity.java geçerli: -

import android.support.v4.app.FragmentActivity; 
import android.os.Bundle; 
import android.view.View; 
import android.view.ViewGroup; 
import android.widget.RelativeLayout; 

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.LatLng; 
import com.google.android.gms.maps.model.MarkerOptions; 

public class MapsActivity extends FragmentActivity implements OnMapReadyCallback { 

    private GoogleMap mMap; 
    View mapView; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.fragment_map); 
     // Obtain the SupportMapFragment and get notified when the map is ready to be used. 
     SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager() 
       .findFragmentById(R.id.map); 
     mapView = mapFragment.getView(); 
     mapFragment.getMapAsync(this); 
      } 

    /** 
    * Manipulates the map once available. 
    * This callback is triggered when the map is ready to be used. 
    * This is where we can add markers or lines, add listeners or move the camera. In this case, 
    * we just add a marker near Sydney, Australia. 
    * If Google Play services is not installed on the device, the user will be prompted to install 
    * it inside the SupportMapFragment. This method will only be triggered once the user has 
    * installed Google Play services and returned to the app. 
    */ 
    @Override 
    public void onMapReady(GoogleMap googleMap) { 
     mMap = googleMap; 
     mMap.setMyLocationEnabled(true); 

     // Add a marker in Sydney and move the camera 
     LatLng sydney = new LatLng(-34, 151); 
     mMap.addMarker(new MarkerOptions().position(sydney).title("Marker in Sydney")); 
     mMap.moveCamera(CameraUpdateFactory.newLatLng(sydney)); 

     if (mapView != null && 
       mapView.findViewById(Integer.parseInt("1")) != null) { 
      // Get the button view 
      View locationButton = ((View) mapView.findViewById(Integer.parseInt("1")).getParent()).findViewById(Integer.parseInt("2")); 
      // and next place it, on bottom right (as Google Maps app) 
      RelativeLayout.LayoutParams layoutParams = (RelativeLayout.LayoutParams) 
        locationButton.getLayoutParams(); 
      // position on right bottom 
      layoutParams.addRule(RelativeLayout.ALIGN_PARENT_TOP, 0); 
      layoutParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM, RelativeLayout.TRUE); 
      layoutParams.setMargins(0, 0, 30, 30); 
     } 

    } 
} 

Ve burada parçanın düzenidir: -

<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.infogird.www.location_button_reposition.MapFragment"> 

    <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="match_parent" 
     /> 
</FrameLayout> 

bu sorununuzu çözecektir, umut. Teşekkürler.

+0

İmzalı apk ile çalışıyor mu? Hata ayıklama modunda benim için çalışıyor, ancak yayın modunda değil. – seema

+0

Yayın modunda tam olarak karşılaştığınız sorun nedir? Bence, API V2'de, bir sürüm ve bir hata ayıklama sürümü arasında değişen YALNIZCA şey, buraya kaydettiğiniz Anahtar kodudur. Code.google.com/apis/console Hata ayıklama çalışıyorsa ve son sürüm yok ise, sadece gerekli değişiklik. Bu nedenle, sürüm anahtar deponuzun karma kodunu iki kez kontrol etmenizi ve Google API Konsolu'nda doğru bir şekilde girildiğinden emin olmanızı öneriyorum. @seema –

+0

tamamlandı. Sorun, tamsayı değeri 1 kullanmıştık. Bunu Integer.parseInt ("1") ile değiştirdik ve işe yaradı. – seema

0

Ben bir geç cevap olduğunu biliyorum ama bu kod benim için çalışıyor ..

 ImageView btnMyLocation = (ImageView) ((View) mapFragment.getView().findViewById(1).getParent()).findViewById(2); 
     btnMyLocation.setImageResource(R.mipmap.ic_location_circle); 

     RelativeLayout.LayoutParams layoutParams = (RelativeLayout.LayoutParams) 
       btnMyLocation.getLayoutParams(); 
     // position on right bottom 
     layoutParams.addRule(RelativeLayout.ALIGN_PARENT_TOP, 0); 
     layoutParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM, RelativeLayout.TRUE); 
     layoutParams.setMargins(0, 0, 30, 30); 

Mutlu kodlama ..!

İlgili konular