2014-12-30 128 views
0

我正在學習谷歌地圖API。當我運行應用程序時,我看到地圖,但沒有看到標記,我等了一小會兒,但沒有發生任何事情。這裏是我的代碼:谷歌地圖標記不顯示在地圖上

MapApp.java

public class MapApp extends SupportMapFragment { 
     private static LatLng mPosFija; 
     public MapApp(){ 
      super(); 
     } 
     public static MapApp newInstance(LatLng posicion){ 
      MapApp frag = new MapApp(); 
      frag.mPosFija = posicion; 
      return frag; 
     } 
     View rootView; 
     @Override 
     public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle  savedInstanceState) { 
      super.onCreateView(inflater, container, savedInstanceState); 
      rootView = inflater.inflate(R.layout.map_app, container, false); 
      mPosFija = new LatLng(37.4005502611301, -5.98233461380005); 
      setUpMapIfNeeded(); 
      return rootView; 
     } 

     public void setUpMapIfNeeded(){ 
      UiSettings settings = getMap().getUiSettings(); 
      settings.setAllGesturesEnabled(false); 
      settings.setMyLocationButtonEnabled(false); 
      getMap().moveCamera(CameraUpdateFactory.newLatLngZoom(mPosFija, 16)); 
      getMap().addMarker(new MarkerOptions().position(mPosFija).icon(BitmapDescriptorFactory.fromResource(R.drawable.ic_launcher))); 
     } 
     } 

mapp_app.xml

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" > 
    <fragment 
     android:id="@+id/map" 
     android:name="com.google.android.gms.maps.SupportMapFragment" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" /> 
</RelativeLayout> 
+0

檢查:https://developers.google。 com/maps/documentation/android/start –

回答

0
public class MapUser extends Fragment implements 
    GooglePlayServicesClient.ConnectionCallbacks, 
    GooglePlayServicesClient.OnConnectionFailedListener, 
    OnMarkerClickListener { 
    private Marker myMarker; 

@Override 
public void onResume() { 
    googleMap = mMapFragment.getMap(); 
    super.onResume(); 
} 

private SupportMapFragment mMapFragment; 

@Override 
public void onActivityCreated(@Nullable Bundle savedInstanceState) { 
    // TODO Auto-generated method stub 
    super.onActivityCreated(savedInstanceState); 
    if (mMapFragment == null) { 
     mMapFragment = SupportMapFragment.newInstance(); 
     FragmentTransaction fragmentTransaction = getChildFragmentManager() 
       .beginTransaction(); 
     fragmentTransaction.add(R.id.content_map, mMapFragment); 
     fragmentTransaction.commit(); 
    } 
} 

private View rootview; 
private LocationClient mLocationClient; 

GoogleMap googleMap; 

@Override 
public View onCreateView(LayoutInflater inflater, 
     @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { 
    rootview = inflater.inflate(R.layout.map_app, container, 
      false); 
    MapsInitializer.initialize(rootview.getContext()); 
    mLocationClient = new LocationClient(rootview.getContext(), this, this); 
    mLocationClient.registerConnectionCallbacks(this); 
    mLocationClient.connect(); 
    return rootview; 
} 

@Override 
public void onConnectionFailed(ConnectionResult result) { 
    // TODO Auto-generated method stub 

} 

@Override 
public void onConnected(Bundle connectionHint) { 
    // TODO Auto-generated method stub 

    try { 

     googleMap.setMyLocationEnabled(true); 
     googleMap = mMapFragment.getMap(); 

     Location SS = googleMap.getMyLocation(); 
     if (SS != null) { 
      double lati = SS.getLatitude(); 
      double longi = SS.getLongitude(); 
      LatLng latlongs = new LatLng(lati, longi); 

      googleMap.addMarker(new MarkerOptions() 
        .position(latlongs) 
        .title("Current Location") 
        .snippet(" ") 
        .icon(BitmapDescriptorFactory 
          .fromResource(R.drawable.mapview))); 
     } 

     googleMap.setOnMarkerClickListener(this); 
     if (googleMap != null) { 
      // googleMap.addMarker(new MarkerOptions().position(
      // new LatLng(31.611213, 74.79835)).title("chcek")); 
      // googleMap.animateCamera(CameraUpdateFactory.zoomTo(14)); 
      googleMap.setMapType(GoogleMap.MAP_TYPE_HYBRID); 
      googleMap.setMyLocationEnabled(true); 
      googleMap.getUiSettings().setZoomControlsEnabled(true); 
      googleMap.getUiSettings().setCompassEnabled(false); 
      googleMap.getUiSettings().setMyLocationButtonEnabled(true); 
      googleMap.getUiSettings().setAllGesturesEnabled(true); 
      googleMap.setTrafficEnabled(true); 

     } 

    } catch (Exception e) { 
     e.printStackTrace(); 
    } 

} 

@Override 
public void onDisconnected() { 
} 

@Override 
public boolean onMarkerClick(Marker marker) { 
    // TODO Auto-generated method stub 
    LatLng ok = marker.getPosition(); 
    String userdata = marker.getSnippet(); 

    double longi = ok.longitude; 
    double lati = ok.latitude; 
    String longistr = Double.toString(longi); 
    String latistr = Double.toString(lati); 

    DataBaseHelper obj = new DataBaseHelper(rootview.getContext()); 
    String cityd = obj.latilangi(latistr, longistr); 
    // Toast.makeText(rootview.getContext(), 
    // marker.getTitle(), Toast.LENGTH_LONG) 
    // .show(); 
     return true; 
} 

}

+0

謝謝它對我工作 –

+0

歡迎先生:) .. :) – wadali