Instantly share code, notes, and snippets.
Last active
December 8, 2016 10:12
-
Star
(0)
0
You must be signed in to star a gist -
Fork
(0)
0
You must be signed in to fork a gist
-
Save anonymous/c94bd412df78f1f4d7cf5d0730ab89c7 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.example.noavaran.drugstore.Fragment; | |
import android.graphics.Color; | |
import android.location.Location; | |
import android.os.Bundle; | |
import android.support.annotation.Nullable; | |
import android.support.v4.app.Fragment; | |
import android.util.Log; | |
import android.view.LayoutInflater; | |
import android.view.View; | |
import android.view.ViewGroup; | |
import android.widget.TextView; | |
import android.widget.Toast; | |
import com.example.noavaran.drugstore.R; | |
import com.google.android.gms.common.ConnectionResult; | |
import com.google.android.gms.common.api.GoogleApiClient; | |
import com.google.android.gms.location.LocationListener; | |
import com.google.android.gms.location.LocationServices; | |
import com.google.android.gms.maps.CameraUpdateFactory; | |
import com.google.android.gms.maps.GoogleMap; | |
import com.google.android.gms.maps.MapView; | |
import com.google.android.gms.maps.MapsInitializer; | |
import com.google.android.gms.maps.OnMapReadyCallback; | |
import com.google.android.gms.maps.SupportMapFragment; | |
import com.google.android.gms.maps.model.BitmapDescriptorFactory; | |
import com.google.android.gms.maps.model.CameraPosition; | |
import com.google.android.gms.maps.model.LatLng; | |
import com.google.android.gms.maps.model.Marker; | |
import com.google.android.gms.maps.model.MarkerOptions; | |
/** | |
* A simple {@link Fragment} subclass. | |
*/ | |
public class MenuFragment extends Fragment implements GoogleMap.OnInfoWindowClickListener | |
{ | |
MapView mMapView; | |
private GoogleMap googleMap; | |
Location mLastLocation; | |
public LatLng sydney; | |
public int marker_change=0; | |
public MenuFragment() { | |
// Required empty public constructor | |
} | |
@Override | |
public View onCreateView(final LayoutInflater inflater, ViewGroup container, | |
final Bundle savedInstanceState) { | |
final View rootView = inflater.inflate(R.layout.fragment_menu, container, false); | |
mMapView = (MapView) rootView.findViewById(R.id.mapView); | |
mMapView.onCreate(savedInstanceState); | |
mMapView.onResume(); // needed to get the map to display immediately | |
try { | |
MapsInitializer.initialize(getActivity().getApplicationContext()); | |
} catch (Exception e) { | |
e.printStackTrace(); | |
} | |
mMapView.getMapAsync(new OnMapReadyCallback() { | |
@Override | |
public void onMapReady(GoogleMap mMap) { | |
googleMap = mMap; | |
// For showing a move to my location button | |
googleMap.setMyLocationEnabled(true); | |
// For dropping a marker at a point on the Map | |
/* googleMap.addMarker(new MarkerOptions().position(sydney).title("Marker Title").snippet("Marker Description")). | |
setIcon(BitmapDescriptorFactory.fromResource(R.drawable.position_icon));*/ | |
googleMap.setOnMyLocationChangeListener(new GoogleMap.OnMyLocationChangeListener() { | |
@Override | |
public void onMyLocationChange(Location location) { | |
sydney=new LatLng(location.getLatitude(), location.getLongitude()); | |
googleMap.addMarker(new MarkerOptions().position(sydney)) | |
.setIcon(BitmapDescriptorFactory.fromResource(R.drawable.position_icon)); | |
CameraPosition cameraPosition = new CameraPosition.Builder().target(sydney).zoom(12).build(); | |
googleMap.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition)); | |
googleMap.setOnMarkerClickListener(new GoogleMap.OnMarkerClickListener() { | |
@Override | |
public boolean onMarkerClick(final Marker marker) { | |
marker_change=1; | |
marker.showInfoWindow(); | |
return true; | |
} | |
}); | |
if(marker_change==1) { | |
googleMap.clear(); | |
MarkerOptions mo=new MarkerOptions().position(sydney).title("لطفا از نسخه خود عکس تهیه کنید").snippet("apple") | |
.icon(BitmapDescriptorFactory.fromResource(R.drawable.address_icon)); | |
// googleMap.addMarker(mo).setIcon(BitmapDescriptorFactory.fromResource(R.drawable.ic_new_mark_icon));; | |
googleMap.addMarker(mo).setIcon(BitmapDescriptorFactory.fromResource(R.drawable.ic_new_mark_icon)); | |
cameraPosition = new CameraPosition.Builder().target(sydney).zoom(12).build(); | |
googleMap.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition)); | |
} else { | |
marker_change=0; | |
} | |
} | |
}); | |
} | |
}); | |
googleMap.setInfoWindowAdapter(new GoogleMap.InfoWindowAdapter() { | |
@Override | |
public View getInfoWindow(Marker marker) { | |
return null; | |
} | |
@Override | |
public View getInfoContents(Marker marker) { | |
// Getting view from the layout file info_window_layout | |
View v = getActivity().getLayoutInflater().inflate(R.layout.custom_info_window, null); | |
// Getting the position from the marker | |
LatLng latLng = marker.getPosition(); | |
// Getting reference to the TextView to set latitude | |
TextView tvLat = (TextView) v.findViewById(R.id.title); | |
// Getting reference to the TextView to set longitude | |
TextView tvLng = (TextView) v.findViewById(R.id.snippet); | |
// Setting the latitude | |
tvLat.setText("Latitude:" + latLng.latitude); | |
// Setting the longitude | |
tvLng.setText("Longitude:"+ latLng.longitude); | |
return v; | |
} | |
}); | |
return rootView; | |
} | |
@Override | |
public void onResume() { | |
super.onResume(); | |
mMapView.onResume(); | |
} | |
@Override | |
public void onPause() { | |
super.onPause(); | |
mMapView.onPause(); | |
} | |
@Override | |
public void onDestroy() { | |
super.onDestroy(); | |
mMapView.onDestroy(); | |
} | |
@Override | |
public void onLowMemory() { | |
super.onLowMemory(); | |
mMapView.onLowMemory(); | |
} | |
@Override | |
public void onInfoWindowClick(Marker marker) { | |
Toast.makeText(getActivity(), "Info window clicked", | |
Toast.LENGTH_SHORT).show(); | |
} | |
//-------------------------------------------------------------------- | |
//------------------- Create Adaptor --------------------------------- | |
//-------------------------------------------------------------------- | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment