Created
December 8, 2016 10:25
-
-
Save anonymous/2e483d58748aaadb377f130a8676e870 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; | |
} | |
} | |
}); | |
} | |
}); | |
setwindowsInfo(); | |
return rootView; | |
} | |
private void setwindowsInfo() { | |
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; | |
} | |
}); | |
} | |
@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