Sunday, January 5, 2020

Maps Android


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

Mengganti Icon Marker Di Maps

                                            Creating an icon https://leafletjs.com/examples.html var greenIcon = ...