private void geocodeLocation(String locationName, String friendName) { Geocoder geocoder = new Geocoder(this); try { List<Address> addresses = geocoder.getFromLocationName(locationName, 1); if (!addresses.isEmpty()) { Address address = addresses.get(0); LatLng position = new LatLng(address.getLatitude(), address.getLongitude()); FriendLocation friend = new FriendLocation( friendName, locationName, position.latitude, position.longitude ); allFriends.add(friend); addMarkerToMap(friend); } } catch (Exception e) { e.printStackTrace(); } }
<ProgressBar android:id="@+id/progressBar" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:visibility="gone" /> facebook friends mapper android
private void setupFacebookLogin() { loginButton.setOnClickListener(v -> performFacebookLogin()); } private void geocodeLocation(String locationName
@Override public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { super.onRequestPermissionsResult(requestCode, permissions, grantResults); if (requestCode == LOCATION_PERMISSION_REQUEST) { if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) { if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED) { googleMap.setMyLocationEnabled(true); } } } } try { List<
private void showFriendDetailsDialog(FriendLocation friend) { new AlertDialog.Builder(this) .setTitle(friend.name) .setMessage("Location: " + friend.location + "\n" + "Coordinates: " + friend.latitude + ", " + friend.longitude) .setPositiveButton("Close", null) .setNeutralButton("Show on Map", (dialog, which) -> { LatLng position = new LatLng(friend.latitude, friend.longitude); googleMap.animateCamera(CameraUpdateFactory.newLatLngZoom(position, 12)); }) .show(); }
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <meta-data android:name="com.google.android.geo.API_KEY" android:value="YOUR_GOOGLE_MAPS_API_KEY" />