Permission Internet
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.INTERNET" />
Permission Map
(Manifacest)
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<meta-data android:name="com.google.android.geo.API_KEY" android:value="@string/google_maps_key" />
1.Membuat Layout Maps
- Ikuti langkah dibawah :
- Klik Finish
2. Membuat File Java
public class MapsActivity extends FragmentActivity implements OnMapReadyCallback {
private GoogleMap mMap;
int jd=0;
String myLati="-6.179745";
String myLongi="106.841933";
String myPosisi="Kampus Nusa Mandiri Jakarta";
private ProgressDialog pDialog;
JSONParser jParser = new JSONParser();
JSONArray myJSON = null;
String ip="";
ArrayList<HashMap<String, String>> arrayList;
private static final String TAG_SUKSES = "sukses";
private static final String TAG_record = "record";
String[]arid_anggota;
String[]arnama_anggota;
String[]aralamat;
String[]arlatitude;
String[]arlongitude;
String[]arketerangan;
SupportMapFragment mapFragment;
@Override protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_maps);
// Obtain the SupportMapFragment and get notified when the map is ready to be used.
mapFragment = (SupportMapFragment) getSupportFragmentManager()
.findFragmentById(R.id.map);
Intent get= this.getIntent();
myLati=get.getStringExtra("myLati");
myLongi=get.getStringExtra("myLongi");
myPosisi=get.getStringExtra("myPosisi");
arrayList = new ArrayList<HashMap<String, String>>();
ip=jParser.getIP();
new load().execute();
}
class load extends AsyncTask<String, String, String> {
@Override protected void onPreExecute() {
super.onPreExecute();
pDialog = new ProgressDialog(MapsActivity.this);
pDialog.setMessage("Load data. Silahkan Tunggu...");
pDialog.setIndeterminate(false);
pDialog.setCancelable(false);
pDialog.show();
}
protected String doInBackground(String... args) {
List<NameValuePair> params = new ArrayList<NameValuePair>();
JSONObject json = jParser.makeHttpRequest(ip+"anggota/anggota_show.php", "GET", params);
Log.d("show: ", json.toString());
try {
int sukses = json.getInt(TAG_SUKSES);
if (sukses == 1) {
myJSON = json.getJSONArray(TAG_record);
jd=myJSON.length();
arid_anggota=new String[jd];
arnama_anggota=new String[jd];
aralamat=new String[jd];
arlatitude=new String[jd];
arlongitude=new String[jd];
arketerangan=new String[jd];
for (int i = 0; i < jd; i++) {
JSONObject c = myJSON.getJSONObject(i);
arid_anggota[i]= c.getString("id_anggota");
arnama_anggota[i]= c.getString("nama_anggota");
aralamat[i]= c.getString("alamat");
arlatitude[i]= c.getString("latitude");
arlongitude[i]= c.getString("longitude");
arketerangan[i]= c.getString("keterangan");
}
}
}
catch (JSONException e) {e.printStackTrace();}
return null;
}
protected void onPostExecute(String file_url) {
pDialog.dismiss();
runOnUiThread(new Runnable() {
public void run() {
mapFragment.getMapAsync(MapsActivity.this);
}
});}
}
@Override public void onMapReady(GoogleMap googleMap) {
mMap = googleMap;
double lat=-6.179745;
double lon=106.841933;
try{
lat=Double.parseDouble(myLati);
lon=Double.parseDouble(myLongi);
}
catch(Exception e){ lat=-6.179745; lon=106.841933;}
mMap.addMarker(new MarkerOptions().position(new LatLng(lat, lon)).title("Posisi Anda").snippet(myPosisi));
mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(lat,lon),10));
for(int i=0;i<jd;i++){
lat=-6.179745;
lon=106.841933;
try{
lat=Double.parseDouble(arlatitude[i]);
lon=Double.parseDouble(arlongitude[i]);
}
catch(Exception e){ lat=-6.179745; lon=106.841933;}
mMap.addMarker(new MarkerOptions().position(new LatLng(lat, lon)).title(arnama_anggota[i]).snippet(aralamat[i]).icon(BitmapDescriptorFactory.fromResource(R.drawable.poin)));
}
}
}
No comments:
Post a Comment