2015-02-17 4 views
-1

Я новичок в API карт Google V2, и я хотел бы сделать указатель маркера/указателя маршрута на карте google. Если вы не понимаете, что я имею в виду, перейдите по этой ссылке https://developers.google.com/maps/documentation/android/ и нажмите на маркер. Код там даже не полный, и я понятия не имею, как это сделать.Маркер маршрутизации Google Map

Пожалуйста, помогите! Много спасибо

ответ

1

FYI, https://developers.google.com/maps/documentation/android/start#getting_the_google_maps_android_api_v2

yourmap.xml

<FrameLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:padding="2dp" 
    > 
    <com.google.android.gms.maps.MapView 
     android:id="@+id/mapview" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
    /> 
</FrameLayout> 

youractivity.class

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
     Bundle savedInstanceState) { 
    Log.i(TAG, "oncreate"); 
    View rootView = inflater.inflate(R.layout.yourmap, container, false); 

    // Gets the MapView from the XML layout and creates it 
    mapView = (MapView) rootView.findViewById(R.id.mapview); 
    mapView.onCreate(savedInstanceState); 
    setCurrentLocationMarker(); 

    return rootView; 
} 

public void setCurrentLocationMarker(){ 
    try { 
    // Gets to GoogleMap from the MapView and does initialization stuff 
     map = mapView.getMap(); 
     map.getUiSettings().setMyLocationButtonEnabled(false); 
     map.setMyLocationEnabled(true); 

     // Needs to call MapsInitializer before doing any CameraUpdateFactory calls 
     try { 
      MapsInitializer.initialize(getActivity()); 
     } catch (Exception e) { 
      Log.e(TAG , "Exception: "+e.getMessage()); 
      e.printStackTrace(); 
     } 

     gps = new GPSTracker(getActivity()); 

     if(gps.canGetLocation()) { 

      myLatitude = gps.getLatitude(); 
      myLongitude = gps.getLongitude(); 

      if(myLatitude==0 && myLongitude==0){ 
       LocationManager lm = (LocationManager)getActivity().getSystemService(Context.LOCATION_SERVICE); 
       Location location = getLastKnownLocation(lm); 
       Log.i(TAG, "location : "+location); 
       if(location!=null){ 
        myLatitude = location.getLatitude(); 
        myLongitude = location.getLongitude(); 
       } 
      } 

     } else { 
      // Can't get location. 
      // GPS or network is not enabled. 
      // Ask user to enable GPS/network in settings. 
      gps.showSettingsAlert(); 
      Log.i(TAG, "gps.canGetLocation() : "+gps.canGetLocation()); 
      return; 
     } 

     Log.i(TAG, "myLatitude :"+myLatitude+", myLongitude: "+myLongitude); 


     // Updates the location and zoom of the MapView 
     if(myLatitude>0 && myLongitude>0){ 
      CameraUpdate cameraUpdate = CameraUpdateFactory.newLatLngZoom(new LatLng(myLatitude, myLongitude), 10); 
      map.animateCamera(cameraUpdate); 

      MarkerInfo markerinfo = new MarkerInfo("", "Current Location", myLatitude, myLongitude, true); 
      addMarker(markerinfo); 
     } 


     map.setOnMarkerClickListener(onClickListener); 
     map.setOnInfoWindowClickListener(onInfoWindowClickListener);    
     marker.showInfoWindow(); 

    } catch (Exception e) { 
     Log.e(TAG, "Exception : "+e.getMessage()); 
    } 
} 
Смежные вопросы